Copiloto de IA PDF
Aspose.PDF AI Copilot API projetada para permitir que os usuários processem documentos PDF usando LLMs de diferentes provedores. Esta
API ajudará os usuários a construir aplicações de chatbot e integrar soluções PDF com LLMs.
Principais Recursos
Resumo de documentos.
Chat com documentos.
Obter imagens de documentos e fornecer descrições.
Exemplos
Atualmente, os seguintes copilotos estão disponíveis:
OpenAI Summary permite que os usuários gerem resumos a partir de documentos. Ele fornece uma maneira conveniente de criar resumos configurando opções como o modelo, temperatura, número de tokens, instruções do modelo, anexos de documentos e outros. O copiloto pode gerar resumos de forma assíncrona como texto, documentos e salvar os resumos em vários formatos. O código de demonstração fornecido mostra a criação de um cliente OpenAI, a configuração das opções do copiloto e o uso do SummaryCopilot para gerar e salvar resumos.
.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" );
}
OpenAI Chat é um copiloto de IA projetado para interações de chat com documentos. Ele facilita a geração de respostas a consultas dos usuários e a gestão de contexto. Os usuários podem configurar as opções do copiloto, como o modelo, temperatura, número de tokens, instruções do modelo, anexos de documentos e outros. O copiloto pode fornecer respostas a uma ou várias consultas, salvar respostas em vários formatos, salvar e excluir o contexto.
O código fornecido demonstra a criação de um cliente OpenAI, configuração das opções do ChatCopilot e uso do ChatCopilot para interagir com consultas dos usuários e gerenciar 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 ();
}
OpenAI Image Description é um copiloto de IA projetado para gerar descrições de imagens de imagens dentro de documentos PDF, bem como arquivos de imagem separados. Os usuários podem configurar as opções do copiloto, como o modelo, temperatura, número de tokens, instruções do modelo, anexos de documentos e outros. O copiloto fornece a capacidade de obter descrições de imagens para todos os documentos anexados de uma só vez.
O trecho de código fornecido demonstra a criação de um cliente OpenAI, configuração das opções do ImageDescriptionCopilot e uso do copiloto para obter descrições de imagens para documentos anexados. Além disso, há um método de extensão que permite adicionar descrições de imagens a imagens nos documentos anexados e salvar novos documentos no diretório fornecido.
OpenAI OCR é um copiloto de IA projetado para extrair texto de documentos e imagens digitalizadas. Os usuários podem configurar as opções do copiloto, como o modelo, temperatura, número de tokens, instruções do modelo, anexos de documentos e outros.
O trecho de código fornecido demonstra a criação de um cliente OpenAI, configuração das opções do OpenAIOcrCopilotOptions
e uso do copiloto para obter texto de documentos e imagens digitalizadas.
Llama Chat permite a criação de um cliente para enviar solicitações à API de conclusão de chat Llama.
Llama Summary permite que o cliente seja usado para criar o 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 );
}