This example demonstrates how to create a summary of a document using a built-in local AI model.
#include "docwire.h"
#include <sstream>
int main(int argc, char* argv[])
{
std::stringstream out_stream;
try
{
std::filesystem::path("data_processing_definition.doc") | content_type::detector{} | office_formats_parser{} | plain_text_exporter() | local_ai::model_chain_element("Write a short summary for this text:\n\n") | out_stream;
ensure(out_stream.str()).is_one_of({
"Data processing is the collection, organization, analysis, and interpretation of data to extract useful insights and support decision-making.",
"Data processing is the process of transforming raw data into meaningful information."
});
}
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.
The main namespace for the DocWire SDK.
ensure(const T &, const docwire::source_location &) -> ensure< T >
Deduction guide for the ensure class template.