This example shows how to find objects within an image using the OpenAI API.
#include "docwire.h"
#include "environment.h"
#include <sstream>
int main(int argc, char* argv[])
{
std::stringstream out_stream;
try
{
std::filesystem::path(
"scene_1.png") | content_type::detector{} | openai::find(
"tree", environment::get(
"OPENAI_API_KEY").
value(), openai::Model::gpt_4o) | out_stream;
ensure(fuzzy_match::ratio(out_stream.str(),
"2\n- A tree is located on the left side of the image near the people.\n- Another tree is in the background near the center of the image.\n")) > 80;
}
catch (const std::exception& e)
{
return 1;
}
return 0;
}
DOCWIRE_CORE_EXPORT std::string diagnostic_message(const std::exception &e)
Generates a diagnostic message for the given nested exceptions chain.
std::variant< std::nullptr_t, bool, std::int64_t, std::uint64_t, double, std::string, array, object > value
A variant type representing any serialized value.
The main namespace for the DocWire SDK.
ensure(const T &, const docwire::source_location &) -> ensure< T >
Deduction guide for the ensure class template.