文本是《工具配置(共27篇)》专题的第 26 篇。阅读本文前,建议先阅读前面的文章:
- 1.沉浸式翻译插件深度解析:从基础配置到高级定制与跨平台应用
- 2.沉浸式翻译:智能双语翻译工具,提升阅读体验与翻译精准度
- 3.ChatBox 配置指南:多平台AI对话工具,支持API Key与本地模型配置
- 4.Continue 插件安装与配置指南:JetBrains IDE 的 AI 辅助利器
- 5.Cursor 安装与配置全攻略:AI 驱动的智能编程助手
- 6.CherryStudio:跨平台AI模型管理与对话工具安装与配置全攻略
- 7.Dify:开源低代码 AI 应用平台 | 一站式构建与部署
- 8.AingDesk | 开源跨平台 AI 桌面客户端 · Windows / macOS / Docker 一站式部署
- 9.VS Code 与 Cline 插件安装及 AI 对话扩展使用指南
- 10.Zed 轻量级现代代码编辑器:性能、协作与 AI 集成
- 11.DeepChat 免费桌面智能助手|多模型接入·多模态交互·隐私安全
- 12.Void AI编辑器完全指南:免费开源Cursor替代品安装配置教程 | AI编程工具
- 13.探索前沿AI对话:LibreChat部署的深度洞察与最佳实践
- 14.Sider 配置AI模型指南
- 15.Cursor AI代码编辑器完整使用指南 – 下载安装配置教程2025
- 16.Trae AI 安装与使用教程 | 最强 AI 编程助手配置指南
- 17.2025最新IntelliJ IDEA 安装与使用全指南:版本选择、插件配置与AI助手集成
- 18.Glarity浏览器插件完整指南:免费开源AI网页摘要与翻译助手
- 19.Claude Code CLI 安装与配置完整教程 | 支持 Windows 与 macOS 的 AI 编程助手
- 20.91协商写作平台
- 21.Claude-Python示例代码
- 22.OpenAI-image-Python示例代码
- 23.Gemini-Python示例代码
- 24.OpenAI-Java示例代码
- 25.Rerank-python代码配置
1. 资源准备
- API Key:此项配置填写在一步API官网创建API令牌,一键直达API令牌创建页面
- 创建API令牌步骤请参考API Key的获取和使用
- API Host:此项配置填写https://yibuapi.com/v1
- 查看支持的模型请参在这里复制模型在线查询
2. 安装依赖
pip install openai
pip install openai PyMuPDF argparse
3. 实现代码
import fitz # PyMuPDF
import openai
# 默认API配置
DEFAULT_API_KEY = "sk-xxxx" # 请替换为您的API密钥
DEFAULT_BASE_URL = "https://yibuapi.com/v1" # 基础URL
def extract_text_from_pdf(pdf_path):
"""从PDF文件中提取文本内容"""
try:
doc = fitz.open(pdf_path)
text = ""
for page in doc:
text += page.get_text()
return text
except Exception as e:
print(f"提取PDF文本时出错: {e}")
return None
def analyze_pdf_with_llm(pdf_text, query, model="gpt-4o", api_key=DEFAULT_API_KEY, base_url=DEFAULT_BASE_URL):
"""使用指定的语言模型分析PDF内容"""
try:
client = openai.OpenAI(api_key=api_key, base_url=base_url)
if not query:
instruction = "请分析这份PDF文档,提供主要内容摘要、关键点和重要见解。"
else:
instruction = query
prompt = f"""
请分析以下PDF文档内容:
{pdf_text[:15000]} # 限制字符数以避免超出token限制
{instruction}
"""
response = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "你是一位专业的文档分析专家,擅长从PDF文档中提取关键信息并进行深入分析。"},
{"role": "user", "content": prompt}
],
temperature=0.7,
max_tokens=2000
)
return response.choices[0].message.content
except Exception as e:
return f"分析过程中出错: {str(e)}"
def main():
# 硬编码配置
pdf_path = "/Users/xxx/Desktop/xxxx.pdf"
query = None # 可以根据需要修改
model = "gpt-4o" # 可选: "gpt-4o" 或 "grok-3"
api_key = DEFAULT_API_KEY
base_url = DEFAULT_BASE_URL
# 提取PDF文本
print(f"正在提取PDF '{pdf_path}' 的内容...")
pdf_text = extract_text_from_pdf(pdf_path)
if not pdf_text:
print("无法提取PDF内容,请检查文件路径是否正确。")
return
print(f"提取完成,文本长度: {len(pdf_text)} 字符")
# 确定使用的模型
if model.lower() == "grok-3" or model.lower() == "grok3":
model = "grok-3"
elif model.lower() == "gpt-4o" or model.lower() == "gpt4o":
model = "gpt-4o"
else:
print(f"未知模型: {model},默认使用gpt-4o")
model = "gpt-4o"
print(f"使用 {model} 分析PDF内容...")
# 分析PDF内容
analysis = analyze_pdf_with_llm(
pdf_text,
query,
model=model,
api_key=api_key,
base_url=base_url
)
print("\n===== PDF分析结果 =====\n")
print(analysis)
if __name__ == "__main__":
main()
4. 运行效果
您已阅读完《工具配置(共27篇)》专题的第 26 篇。请继续阅读该专题下面的文章: