当前位置:首页>文章>使用指南>Python分析文件代码示例

Python分析文件代码示例

文本是《工具配置(共27篇)》专题的第 26 篇。阅读本文前,建议先阅读前面的文章:

1. 资源准备

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. 运行效果

Python分析文件代码示例

您已阅读完《工具配置(共27篇)》专题的第 26 篇。请继续阅读该专题下面的文章:

使用指南工具配置

OpenAI-Java示例代码

2025-8-30 12:13:39

使用指南

Python配置openAI使用音视频图片对话

2025-9-26 9:51:07

搜索