Como processar texto PDF com ChatGPT em .NET
Este artigo mostra como integrar o ChatGPT com os fluxos de trabalho PDF em .NET usando o Aspose.PDF Plugin Chat GPT. Você aprenderá a extrair texto de PDFs, processá-lo através do ChatgPT, e escrever respostas a arquivos PDF novos ou existentes – ideal para resumo de documentos, auto-comentamento, ou enriquecimento de conteúdo conduzido pela IA.
Problemas do mundo real
Extrair insights significativos, resumos ou respostas de arquivos PDF manualmente é tempo-consumo. os desenvolvedores precisam de uma maneira simplificada de conectar conteúdo PDF com ChatGPT para processamento e feedback automatizados, economizar tempo e aumentar a produtividade.
Solução Overview
Aspose.PDF ChatGPT Plugin para .NET permite que você envia conteúdo PDF para Chat GPT, receba completões ou resumos, e salve respostas como novos PDFs – todos com código mínimo.
Pré-requisitos
- Visual Studio 2019 ou posterior
- .NET 6.0 ou posterior
- Aspose.PDF para .NET instalado através de NuGet
- OpenAI API chave para ChatGPT
PM> Install-Package Aspose.PDF
Implementação passo a passo
Passo 1: Instale e Configure Aspose.PDF
Adicione os espaços de nome necessários:
using Aspose.Pdf.Plugins;
using System.IO;
using System.Threading.Tasks;
Passo 2: Prepare o texto ou arquivo PDF
Especifique o seu arquivo PDF de entrada e o resultado PDF desejado:
string inputPdfPath = @"C:\Samples\source.pdf";
string outputPdfPath = @"C:\Samples\ChatGPT_output.pdf";
Passo 3: Configurar opções de pedido ChatGPT
Você pode extrair texto do PDF manualmente, ou deixar o plugin usar todo o arquivo PDF como entrada:
using (var plugin = new PdfChatGpt())
{
var options = new PdfChatGptRequestOptions();
options.AddInput(new FileDataSource(inputPdfPath)); // Use full PDF text as message
options.AddOutput(new FileDataSource(outputPdfPath)); // Path for the output PDF
options.ApiKey = "Your-OpenAI-API-Key"; // REQUIRED: Your API key for ChatGPT
options.MaxTokens = 1000; // Limit response size
options.Query = "Summarize the contents of this document."; // Or ask any question about the PDF
Você também pode adicionar mensagens de conversa personalizadas (roles de sistema / usuário):
options.Messages.Add(new Message
{
Content = "You are a document assistant. Summarize the provided PDF text.",
Role = Role.System
});
options.Messages.Add(new Message
{
Content = "What are the main topics covered in this PDF?",
Role = Role.User
});
Passo 4: Envie uma solicitação para ChatGPT e salve o resultado
Processar a solicitação sem sincronia, receber tanto o novo caminho de arquivo PDF e a resposta do ChatGPT:
// Process the request and await the result
var result = await plugin.ProcessAsync(options);
var fileResultPath = result.ResultCollection[0].Data; // Path to the output PDF
var chatCompletion = result.ResultCollection[1].Data as ChatCompletion; // ChatGPT API object
// Access the generated response text if needed:
var firstChoice = chatCompletion?.Choices?.FirstOrDefault();
var responseText = firstChoice?.Message?.Content;
Console.WriteLine($"PDF generated at: {fileResultPath}");
Console.WriteLine("ChatGPT response:");
Console.WriteLine(responseText);
}
Passo 5: Tratamento de Erros e Uso de Async
Sempre ligue as chamadas de sincronização e gerencie erros API/network:
try
{
// (Code above)
}
catch (Exception ex)
{
Console.WriteLine($"Error during ChatGPT PDF processing: {ex.Message}");
}
Exemplo completo de implementação
using Aspose.Pdf.Plugins;
using System;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
string inputPdfPath = @"C:\Samples\source.pdf";
string outputPdfPath = @"C:\Samples\ChatGPT_output.pdf";
using (var plugin = new PdfChatGpt())
{
var options = new PdfChatGptRequestOptions();
options.AddInput(new FileDataSource(inputPdfPath));
options.AddOutput(new FileDataSource(outputPdfPath));
options.ApiKey = "Your-OpenAI-API-Key";
options.MaxTokens = 1000;
options.Query = "Summarize the content of this PDF document.";
try
{
var result = await plugin.ProcessAsync(options);
var fileResultPath = result.ResultCollection[0].Data;
var chatCompletion = result.ResultCollection[1].Data as ChatCompletion;
var firstChoice = chatCompletion?.Choices?.FirstOrDefault();
var responseText = firstChoice?.Message?.Content;
Console.WriteLine($"PDF generated at: {fileResultPath}");
Console.WriteLine("ChatGPT response:");
Console.WriteLine(responseText);
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
}
Use Casos e Aplicações
PDF Sumarização e Comentários gerados por AI
Resumir automaticamente contratos, relatórios ou documentos de pesquisa usando ChatGPT e salvar respostas em PDFs.
Automação Q&A ou Insights Extracção
Envie promptes personalizados para ChatGPT para extrair respostas, tabelas ou dados-chave de arquivos PDF.
Enriquecimento de Documentos Batch
Integrar em fluxos de trabalho para processar muitos PDFs, gerando respostas baseadas em bate-papo ou anotações automáticas.
Desafios comuns e soluções
Desafios: Limitas de API ou Truncagem de Resposta
Solução: Ajuste MaxTokens
e Query
para resultados óptimos; dividir grandes PDFs em pedaços, se necessário.
Desafio: Gerenciamento de chaves de API segura
Solução: Armazenar as chaves API de forma segura (variáveis ambientais, vales) e evitar codificação em produção.
Considerações de desempenho
- Batch PDF entradas e impulsos para minimizar chamadas API.
- Use fluxos de trabalho async para manter sua aplicação responsiva.
- Tune limites de token para gerenciar os custos da API.
Melhores Práticas
- Verifique sempre a saída do PDF e as respostas do ChatGPT para precisão.
- Personalize os impulsos e as funções de mensagem para resultados alvo.
- Gerenciamento seguro de credenciais API.
- Registar e lidar com erros graciosamente nas operações de async.
Os cenários avançados
- Use múltiplos PDFs ou variações rápidas em um loop.
- Combine mensagens de sistema/usuário para contextos complexos ou tarefas.
- Leverage output PDF para processamento downstream ou fluxos de trabalho.
Conclusão
Aspose.PDF ChatGPT Plugin para .NET permite que os desenvolvedores automatizem a análise de documentos, a resumo e o processamento de PDF interativo usando o poder de chatgPT – diretamente dentro de suas aplicações .net. Streamline seus fluxos de trabalho de documento AI, de extração para enriquecimento, com apenas algumas linhas de código.