Copiloto de IA PDF
Aspose.PDF AI Copilot API diseñado para permitir a los usuarios procesar documentos PDF utilizando LLMs de diferentes proveedores. Esta
API ayudará a los usuarios a construir aplicaciones de chatbot e integrar soluciones PDF con LLMs.
Características Clave
Resumen de documentos.
Chat con documentos.
Obtener imágenes de documentos y proporcionar descripciones.
Ejemplos
Actualmente, los siguientes copilotos están disponibles:
Resumen de OpenAI permite a los usuarios generar resúmenes de documentos. Proporciona una forma conveniente de crear resúmenes configurando opciones como el modelo, temperatura, número de tokens, instrucciones del modelo, archivos adjuntos de documentos y otros. El copiloto puede generar resúmenes de forma asíncrona como texto, documentos y guardar los resúmenes en varios formatos. El código de demostración proporcionado muestra la creación de un cliente de OpenAI, la configuración de opciones del copiloto y el uso del SummaryCopilot para generar y guardar resúmenes.
.NET Core 3.1
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static async Task GetSummary ()
{
// The path to the documents directory
var dataDir = RunExamples . GetDataDir_AsposePdf_AI ();
// Create AI client
using ( var openAiClient = Aspose . Pdf . AI . OpenAIClient
. CreateWithApiKey ( ApiKey ) // Create OpenAI client with the API key
//.WithProject("proj_123") // Configure optional parameters
. Build ())
{
// Create copilot options
var options = Aspose . Pdf . AI . OpenAISummaryCopilotOptions
. Create () // Create options like this, or...
//.Create(options => { options.Model = OpenAIModels.Gpt35Turbo; }) // ...create using delegate
. WithTemperature ( 0.5 ) // Configure other optional parameters
. WithDocument ( "SampleDocument.pdf" ); // .WithDocument methods allows to add text, pdf and paths to documents
//.WithDocuments(new List<Aspose.Pdf.AI.TextDocument> { new Aspose.Pdf.AI.TextDocument() }); // .WithDocuments methods allows to add text, pdf and path collections
// Create summary copilot
Aspose . Pdf . AI . ISummaryCopilot summaryCopilot = Aspose . Pdf . AI . AICopilotFactory . CreateSummaryCopilot ( openAiClient , options );
// Get summary text
string summaryText = await summaryCopilot . GetSummaryAsync ();
// Get summary document
Aspose . Pdf . Document summaryDocument = await summaryCopilot . GetSummaryDocumentAsync ();
// Get summary document with page info
Aspose . Pdf . Document summaryDocumentWithPageInfo = await summaryCopilot . GetSummaryDocumentAsync ( new Aspose . Pdf . PageInfo ());
// Save PDF document
await summaryCopilot . SaveSummaryAsync ( dataDir + "Summary_out.pdf" );
}
}
.NET 8
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static async Task GetSummary ()
{
// The path to the documents directory
var dataDir = RunExamples . GetDataDir_AsposePdf_AI ();
// Create AI client
using var openAiClient = Aspose . Pdf . AI . OpenAIClient
. CreateWithApiKey ( ApiKey ) // Create OpenAI client with the API key
//.WithProject("proj_123") // Configure optional parameters
. Build ();
// Create copilot options
var options = Aspose . Pdf . AI . OpenAISummaryCopilotOptions
. Create () // Create options like this, or...
//.Create(options => { options.Model = OpenAIModels.Gpt35Turbo; }) // ...create using delegate
. WithTemperature ( 0.5 ) // Configure other optional parameters
. WithDocument ( "SampleDocument.pdf" ); // .WithDocument methods allows to add text, pdf and paths to documents
//.WithDocuments(new List<Aspose.Pdf.AI.TextDocument> { new Aspose.Pdf.AI.TextDocument() }); // .WithDocuments methods allows to add text, pdf and path collections
// Create summary copilot
Aspose . Pdf . AI . ISummaryCopilot summaryCopilot = Aspose . Pdf . AI . AICopilotFactory . CreateSummaryCopilot ( openAiClient , options );
// Get summary text
string summaryText = await summaryCopilot . GetSummaryAsync ();
// Get summary document
Aspose . Pdf . Document summaryDocument = await summaryCopilot . GetSummaryDocumentAsync ();
// Get summary document with page info
Aspose . Pdf . Document summaryDocumentWithPageInfo = await summaryCopilot . GetSummaryDocumentAsync ( new Aspose . Pdf . PageInfo ());
// Save PDF document
await summaryCopilot . SaveSummaryAsync ( dataDir + "Summary_out.pdf" );
}
Chat de OpenAI es un copiloto de AI diseñado para interacciones de chat con documentos. Facilita la generación de respuestas a consultas de usuarios y la gestión del contexto. Los usuarios pueden configurar las opciones del copiloto, como el modelo, temperatura, número de tokens, instrucciones del modelo, archivos adjuntos de documentos y otros. El copiloto puede proporcionar respuestas a consultas individuales o múltiples, guardar respuestas en varios formatos, guardar y eliminar el contexto.
El código proporcionado demuestra la creación de un cliente de OpenAI, la configuración de opciones de ChatCopilot y el uso de ChatCopilot para interactuar con consultas de usuarios y gestionar el contexto.
.NET Core 3.1
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static async Task ChatWithDocument ()
{
// The path to the documents directory
var dataDir = RunExamples . GetDataDir_AsposePdf_AI ();
// Create AI client
using ( var openAiClient = Aspose . Pdf . AI . OpenAIClient
. CreateWithApiKey ( ApiKey ) // Create OpenAI client with the API key
//.WithProject("proj_123") // Configure optional parameters
//.WithOrganization("org_123")
. Build ()) // Build
{
// Create copilot options
var options = Aspose . Pdf . AI . OpenAIChatCopilotOptions
. Create () // Create options like this, or...
//.Create(options => { options.Model = OpenAIModels.Gpt35Turbo; }) // ...create using delegate
. WithModel ( Aspose . Pdf . AI . OpenAIModels . Gpt35Turbo ) // Configure other optional parameters
. WithTemperature ( 0.5 )
. WithTopP ( 1 )
//.WithContextBackupJsonPath("ContextBackup.json") // Supply context backup to resume the conversation session
//.WithRestoreContextFromBackup(true) // If set to true, the context will be restored
. WithDocument ( dataDir + "SampleDocument.pdf" ); // Attach documents using .WithDocument(s) methods allows to add text, pdf and paths to documents
// Create summary copilot
Aspose . Pdf . AI . IChatCopilot chatCopilot = Aspose . Pdf . AI . AICopilotFactory . CreateChatCopilot ( openAiClient , options );
// Get response on a user query
string copilotResponse1 = await chatCopilot . GetResponseAsync ( "Summarize this document." );
// Get response on a list of queries
string copilotResponse2 = await chatCopilot . GetResponseAsync ( new List < string >
{
"What is the subject of this document?" ,
"How many words in it?"
});
// Save PDF document
await chatCopilot . SaveResponseAsync ( "Summarize this document." , dataDir + "ResponseDocument1_out.pdf" );
// Save PDF document
await chatCopilot . SaveResponseAsync ( new List < string >
{
"What is the subject of this document?" ,
"How many words in it?"
},
dataDir + "ResponseDocument2_out.pdf" );
// Save context (ids of assistant, thread, documents)
await chatCopilot . SaveContextAsync ( dataDir + "ContextBackup.json" );
// Deletes the context
await chatCopilot . DeleteContextAsync ();
}
}
.NET 8
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static async Task ChatWithDocument ()
{
// The path to the documents directory
var dataDir = RunExamples . GetDataDir_AsposePdf_AI ();
// Create AI client
using var openAiClient = Aspose . Pdf . AI . OpenAIClient
. CreateWithApiKey ( ApiKey ) // Create OpenAI client with the API key
//.WithProject("proj_123") // Configure optional parameters
//.WithOrganization("org_123")
. Build (); // Build
// Create copilot options
var options = Aspose . Pdf . AI . OpenAIChatCopilotOptions
. Create () // Create options like this, or...
//.Create(options => { options.Model = OpenAIModels.Gpt35Turbo; }) // ...create using delegate
. WithModel ( Aspose . Pdf . AI . OpenAIModels . Gpt35Turbo ) // Configure other optional parameters
. WithTemperature ( 0.5 )
. WithTopP ( 1 )
//.WithContextBackupJsonPath("ContextBackup.json") // Supply context backup to resume the conversation session
//.WithRestoreContextFromBackup(true) // If set to true, the context will be restored
. WithDocument ( dataDir + "SampleDocument.pdf" ); // Attach documents using .WithDocument(s) methods allows to add text, pdf and paths to documents
// Create summary copilot
Aspose . Pdf . AI . IChatCopilot chatCopilot = Aspose . Pdf . AI . AICopilotFactory . CreateChatCopilot ( openAiClient , options );
// Get response on a user query
string copilotResponse1 = await chatCopilot . GetResponseAsync ( "Summarize this document." );
// Get response on a list of queries
string copilotResponse2 = await chatCopilot . GetResponseAsync ( new List < string >
{
"What is the subject of this document?" ,
"How many words in it?"
});
// Save summary as PDF document
await chatCopilot . SaveResponseAsync ( "Summarize this document." , dataDir + "ResponseDocument1_out.pdf" );
// Save summary as PDF document
await chatCopilot . SaveResponseAsync ( new List < string >
{
"What is the subject of this document?" ,
"How many words in it?"
},
dataDir + "ResponseDocument2_out.pdf" );
// Save context (ids of assistant, thread, documents)
await chatCopilot . SaveContextAsync ( dataDir + "ContextBackup.json" );
// Deletes the context
await chatCopilot . DeleteContextAsync ();
}
Descripción de Imagen de OpenAI es un copiloto de AI diseñado para generar descripciones de imágenes de imágenes dentro de documentos PDF así como de archivos de imagen separados. Los usuarios pueden configurar las opciones del copiloto, como el modelo, temperatura, número de tokens, instrucciones del modelo, archivos adjuntos de documentos y otros. El copiloto proporciona la capacidad de obtener descripciones de imágenes para todos los documentos adjuntos a la vez.
El fragmento de código proporcionado demuestra la creación de un cliente de OpenAI, la configuración de opciones de ImageDescriptionCopilot y el uso del copiloto para obtener descripciones de imágenes para documentos adjuntos. Además, hay un método de extensión que permite agregar descripciones de imágenes a imágenes en los documentos adjuntos y guardar nuevos documentos en el directorio proporcionado.
OpenAI OCR es un copiloto de AI diseñado para extraer texto de documentos escaneados e imágenes. Los usuarios pueden configurar las opciones del copiloto, como el modelo, temperatura, número de tokens, instrucciones del modelo, archivos adjuntos de documentos y otros.
El fragmento de código proporcionado demuestra la creación de un cliente de OpenAI, la configuración de opciones de OpenAIOcrCopilotOptions
y el uso del copiloto para obtener texto de documentos escaneados e imágenes.
Chat de Llama permite la creación de un cliente para enviar solicitudes a la API de finalización de chat de Llama.
Resumen de Llama permite que el cliente se utilice para crear el Summary Copilot.
.NET Core 3.1
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static async Task GenerateSummary ()
{
// The path to the documents directory
var dataDir = RunExamples . GetDataDir_AsposePdf_AI ();
using ( var llamaClient = Aspose . Pdf . AI . LlamaClient
. CreateWithApiKey ( ApiKey ) // Create Llama client with the API key
. Build ())
{
// Create copilot options
var options = Aspose . Pdf . AI . LlamaSummaryCopilotOptions
. Create () // Create options like this, or...
//.Create(options => { options.Model = LlamaModels.Llama13BChat; }) // ...create using delegate
. WithTemperature ( 0.5 ) // Configure other optional parameters
. WithDocument ( dataDir + "SampleDocument.pdf" ); // .WithDocument methods allow to add text, pdf, and paths to documents
//.WithDocuments(new List<Aspose.Pdf.AI.TextDocument> { new Aspose.Pdf.AI.TextDocument() }); // .WithDocuments methods allow to add text, pdf and path collections
// Create summary copilot
var summaryCopilot = Aspose . Pdf . AI . AICopilotFactory . CreateSummaryCopilot ( llamaClient , options );
// Get summary text
string summaryText = await summaryCopilot . GetSummaryAsync ();
// Get summary document
Aspose . Pdf . Document summaryDocument = await summaryCopilot . GetSummaryDocumentAsync ();
// Get the summary document with page info
Aspose . Pdf . Document summaryDocumentWithPageInfo = await summaryCopilot . GetSummaryDocumentAsync ( new Aspose . Pdf . PageInfo ());
// Save the summary as a PDF document
await summaryCopilot . SaveSummaryAsync ( dataDir + "Llama_out.pdf" );
// Save summary with specified format
await summaryCopilot . SaveSummaryAsync ( dataDir + "Llama_out.docx" , Aspose . Pdf . SaveFormat . DocX );
}
}
.NET 8
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static async Task GenerateSummary ()
{
// The path to the documents directory
var dataDir = RunExamples . GetDataDir_AsposePdf_AI ();
using var llamaClient = Aspose . Pdf . AI . LlamaClient
. CreateWithApiKey ( ApiKey ) // Create Llama client with the API key
. Build ();
// Create copilot options
var options = Aspose . Pdf . AI . LlamaSummaryCopilotOptions
. Create () // Create options like this, or...
//.Create(options => { options.Model = LlamaModels.Llama13BChat; }) // ...create using delegate
. WithTemperature ( 0.5 ) // Configure other optional parameters
. WithDocument ( dataDir + "SampleDocument.pdf" ); // .WithDocument methods allow to add text, pdf, and paths to documents
//.WithDocuments(new List<Aspose.Pdf.AI.TextDocument> { new Aspose.Pdf.AI.TextDocument() }); // .WithDocuments methods allow to add text, pdf and path collections
// Create summary copilot
var summaryCopilot = Aspose . Pdf . AI . AICopilotFactory . CreateSummaryCopilot ( llamaClient , options );
// Get summary text
string summaryText = await summaryCopilot . GetSummaryAsync ();
// Get summary document
Aspose . Pdf . Document summaryDocument = await summaryCopilot . GetSummaryDocumentAsync ();
// Get the summary document with page info
Aspose . Pdf . Document summaryDocumentWithPageInfo = await summaryCopilot . GetSummaryDocumentAsync ( new Aspose . Pdf . PageInfo ());
// Save the summary as a PDF document
await summaryCopilot . SaveSummaryAsync ( dataDir + "Llama_out.pdf" );
// Save summary with specified format
await summaryCopilot . SaveSummaryAsync ( dataDir + "Llama_out.docx" , Aspose . Pdf . SaveFormat . DocX );
}