PDF 파일에서 의미있는 인식을 수동으로 추출하는 것은 시간이 소요됩니다.이 기사는 Aspose.PDF ChatGPT 플러그인을 사용하여 .NET에서 PDF 작업 흐름을 통합하는 방법을 보여주며 자동 처리 및 피드백을 허용합니다.
소개
이 기사에서는 .NET 애플리케이션에 ChatGPT를 통합하여 PDF에서 텍스트를 추출하고 채팅을 통해 처리하고 Aspose.PDF를 사용하여 새로운 또는 기존의 PDF 파일에 대한 응답을 작성하는 방법을 보여줍니다.이 문서는 설치, 구성, 오류 처리 및 효율적인 문서 처리 최상의 관행을 다루고 있습니다.
현실 세계 문제
PDF 파일에서 의미있는 인식, 요약 또는 답변을 수동으로 추출하는 것은 시간이 소요됩니다. 개발자는 자동 처리 및 피드백을 위해 ChatGPT와 PDF 콘텐츠를 연결하는 유연한 방법이 필요하며 시간을 절약하고 생산성을 향상시킵니다.
솔루션 검토
Aspose.PDF ChatGPT 플러그인은 .NET을 위한 PDF 콘텐츠를 채팅에 보내고, 완료 또는 요약을 받고, 최소한의 코드를 가진 새로운 PDFs로 응답을 저장할 수 있습니다.이 플러스는 async 작업, 유연한 요청 옵션 및 쉬운 PDF 입력/출력 관리 기능을 제공합니다.
원칙
- Visual Studio 2019 또는 이후
- .NET 6.0 또는 이후
- NuGet을 통해 설치된 .NET을 위한 Aspose.PDF
- OpenAI API 키 for ChatGPT
PM> Install-Package Aspose.PDF
단계별 실행
단계 1: 설치 및 설정 Aspose.PDF
필요한 이름 공간을 추가하십시오 :
using Aspose.Pdf.Plugins;
using System.IO;
using System.Threading.Tasks;
단계 2: PDF 텍스트 또는 파일 준비
입력 PDF 및 원하는 출력 PDF 파일을 지정하십시오 :
string inputPdfPath = "@C:\Samples\source.pdf";
string outputPdfPath = "@C:\Samples\ChatGPT_output.pdf";
단계 3: ChatGPT 요청 옵션 설정
API 키, 프롬트 및 출력 경로를 설정합니다. PDF에서 텍스트를 수동으로 추출하거나 플러그인이 전체 PDF 파일을 입력으로 사용할 수 있습니다.
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
또한 사용자 지정 대화 메시지를 추가할 수 있습니다 (시스템/사용자 역할):
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
});
단계 4: ChatGPT에 요청을 보내고 결과를 저장합니다.
요청을 비동기적으로 처리하고, 새 PDF 파일 경로와 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);
}
단계 5 : 오류 처리 및 Async 사용
항상 async 통화를 삽입하고 API / 네트워크 오류를 처리합니다.
try
{
// (Code above)
}
catch (Exception ex)
{
Console.WriteLine($"Error during ChatGPT PDF processing: {ex.Message}");
}
사례 및 응용 프로그램 사용
PDF 요약 및 AI 생성 코멘트
ChatGPT를 사용하여 계약, 보고서 또는 연구 서류를 자동으로 요약하고 PDF에 응답을 저장합니다.
자동 Q&A 또는 인사 추출
사용자 지정 촉구를 ChatGPT로 보내 PDF 파일에서 답변, 테이블 또는 키 데이터를 추출합니다.
배치 문서 풍부함
많은 PDF를 처리하기 위해 작업 흐름에 통합하여 채팅 기반 응답이나 자동 메모를 생성합니다.
일반적인 도전과 해결책
도전: API 제한 또는 응답 트러닝
해결책 : 조정 MaxTokens
그리고 Query
최적의 결과를 위해; 필요한 경우 큰 PDF를 조각으로 분할합니다.
도전: 안전한 API 키 관리
솔루션: API 키를 안전하게 저장 (환경 변수, 밸런스) 생산에서 하드 코딩을 피하십시오.
성과 고려 사항
- 배치 PDF는 API 호출을 최소화하기 위해 입력 및 촉진합니다.
- Async 작업 흐름을 사용하여 응답 응용 프로그램을 유지합니다.
- API 비용을 관리하기 위해 토큰 제한을 설정합니다.
모범 사례
- 항상 정확성을 위해 PDF 출력 및 ChatGPT 응답을 확인합니다.
- 목표 결과를 위해 촉진 및 메시지 역할을 사용자 정의합니다.
- API 인증서를 안전하게 관리합니다.
- Async 작업에서 오류를 기록하고 친절하게 처리합니다.
고급 시나리오
- 여러 PDF 또는 즉각적인 변형을 하나의 루프에 사용하십시오.
- 복잡한 맥락이나 작업을 위해 시스템/사용자 메시지를 결합합니다.
- 다운로드 출력 PDF를 다운로드 처리 또는 작업 흐름을 위해.