文件分析
本页介绍如何使用 OpenAI Responses API 分析文件内容。示例使用 PDF 文件 URL 作为输入,让模型读取文件并总结要点。
概述
文件分析适合合同摘要、PDF 报告解读、财报分析、论文梳理、长文档提纲整理等场景。你可以通过 input_file 提供文件地址,再用 input_text 指定分析任务。
请求地址
https://api.maomaotoken.com/v1/responses请求结构
文件分析的关键是把文件和文字指令一起放入 input:
{
"type": "input_file",
"file_url": "https://example.com/example.pdf"
}配合文本指令:
{
"type": "input_text",
"text": "请分析这份文件并总结要点。"
}Python 示例代码
下面示例通过文件 URL 分析一份 PDF 文档。
"""
MaomaoToken 文件分析示例
功能:
使用 Responses API 分析 PDF 文件内容。
"""
import json
import requests
# ==================== API 配置 ====================
API_KEY = "sk-*****************************************"
url = "https://api.maomaotoken.com/v1/responses"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
# ==================== 请求数据 ====================
payload = {
"model": "gpt-5-mini",
"input": [
{
"role": "user",
"content": [
{
"type": "input_file",
"file_url": "https://www.berkshirehathaway.com/letters/2024ltr.pdf",
},
{
"type": "input_text",
"text": "请分析这封信并总结要点。",
},
],
}
],
}
# ==================== 发送请求 ====================
print("正在发送请求到 MaomaoToken...")
response = requests.post(url, headers=headers, json=payload)
if response.status_code == 200:
result = response.json()
print("=" * 60)
print("分析结果:")
print("=" * 60)
print(json.dumps(result, indent=4, ensure_ascii=False))
print("=" * 60)
else:
print("=" * 60)
print("请求失败")
print("=" * 60)
print(f"状态码: {response.status_code}")
print(f"错误信息: {response.text}")
print("=" * 60)返回示例
成功响应会返回 JSON 数据,文件分析结果通常位于 output 数组中的 output_text 内容里。
{
"id": "resp_example",
"object": "response",
"created_at": 1762519689,
"status": "completed",
"model": "gpt-5-mini",
"output": [
{
"id": "rs_example",
"type": "reasoning",
"summary": []
},
{
"id": "msg_example",
"type": "message",
"status": "completed",
"content": [
{
"type": "output_text",
"text": "这份文件主要讨论了公司长期投资理念、业务结构、保险业务、资本配置、风险管理和未来展望。核心要点包括:坚持长期主义、重视现金流和风险控制、保持透明治理,并持续关注保险业务与投资组合的表现。"
}
],
"role": "assistant"
}
],
"usage": {
"input_tokens": 8441,
"output_tokens": 2547,
"total_tokens": 10988
},
"store": true
}读取分析文本
data = response.json()
for item in data.get("output", []):
if item.get("type") != "message":
continue
for content in item.get("content", []):
if content.get("type") == "output_text":
print(content.get("text", ""))注意事项
- 请将示例中的
sk-*****************************************替换为你的真实 API Key。 - 文件 URL 需要能被 MaomaoToken 服务端正常访问。
- 文件越长,输入 Token 消耗越高,响应时间也可能更长。
- 如果文件是扫描件或图片型 PDF,识别效果可能受图片清晰度影响。
- 对合同、财报、法律文件等重要内容,模型总结仅供辅助参考,建议人工复核。