如何使用 ChatGPT 和 .NET 自动化 PDF 内容总结
如何使用 ChatGPT 和 .NET 自动化 PDF 内容总结
在此指南中,您将学习如何使用 .NET 的 Aspose.PDF 插件从 PDF 文件中提取文本,将内容发送到 OpenAI 的 ChatGPT,并将简短的 AI 创建的摘要 - 完全编程。
原則
- Aspose.PDF.Plugin 通过 NuGet 安装
- OpenAI API 访问和密钥(或 Azure OpenAI 服务)
- .NET 6+ 项目
- 网上访问 ChatGPT 请求
1、从PDF中提取文本
使用 Aspose.PDF.Plugin 的 TextExtractor 从 PDF 内容中提取文本用于人工智能处理。
using Aspose.Pdf.Plugins;
string inputPath = @"C:\Docs\sample.pdf";
var extractor = new TextExtractor();
var options = new TextExtractorOptions();
options.AddInput(new FileDataSource(inputPath));
var resultContainer = extractor.Process(options);
string textContent = resultContainer.ResultCollection[0].ToString();
2. 向 ChatGPT 发送内容
将提取的文本发送到 ChatGPT 进行总结(使用 HttpClient 以使用 API 密钥和快速呼叫 OpenAI API。
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using Newtonsoft.Json;
string apiKey = "YOUR_OPENAI_API_KEY";
string prompt = $"Summarize the following PDF content in 5 bullet points:\n{textContent}";
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
var requestBody = new
{
model = "gpt-3.5-turbo",
messages = new[]
{
new { role = "system", content = "You are a helpful assistant that summarizes PDF content." },
new { role = "user", content = prompt }
}
};
string jsonBody = JsonConvert.SerializeObject(requestBody);
var response = await httpClient.PostAsync(
"https://api.openai.com/v1/chat/completions",
new StringContent(jsonBody, Encoding.UTF8, "application/json")
);
string responseString = await response.Content.ReadAsStringAsync();
// Parse summary from responseString
3、节省和储蓄 AI 集合
从 ChatGPT 的 API JSON 响应中提取摘要,并按需要存储(例如,在数据库、文件或返回新的 PDF)。
4、错误处理
- 处理 API 速度限制、网络错误和误解答案。
- 在发送到AI之前验证提取的文本。
- 记录所有操作可追踪。
5、安全备忘录
永远不要向云人工智能服务发送保密PDF,除非遵守确认。
经常提出的问题
**Q:我可以总结扫描的PDF吗?**答:只有如果它们是 OCR 的或包含可选择的文本,否则,首先使用OCR 插件。
问:对于秘密文件,这是安全的吗?答:如果您的隐私要求允许,只向 ChatGPT 发送数据,请考虑对敏感内容进行当地处理。