在对话中引用文件
通过文件 ID 在对话中引用已上传的图片、文本或 PDF。
上传、过期、下载与删除见文件服务。
对话中可用 file_id 引用以 purpose=user_data 上传的图片、文本或 PDF,通过消息中的 {"type":"file","file":{"file_id":"上传返回的 ID"}} 传入。文件被接受不代表所选模型能读出内容;用途为 vision 或 assistants 的文件不作为这里的图片输入。
2026-10-13 在 Develop 复核:qwen3.8-flash 能从文本和 PDF 中读出指定短语。deepseek-flash 引用同一 PDF 时返回 HTTP 200,但回答明确表示转换失败(provider_rejected)、未读取文件。遇到这种情况,换用已验证可读的模型,或把提取出的文本直接放入消息;不要把 HTTP 200 当成读取成功。
图片输入仍需选择支持图片的模型;下例使用 qwen3-vl-plus。
安装 openai,设置 PRAXIS_API_KEY。使用 Develop 时,另设 PRAXIS_API_BASE=https://api-develop.deepraxis.ai。示例上传一张小 PNG,获取描述后删除文件。
import base64
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["PRAXIS_API_KEY"],
base_url=os.environ.get("PRAXIS_API_BASE", "https://api.deepraxis.ai") + "/openai/v1",
)
image = base64.b64decode(
"iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAABWklEQVR4nO3OQQ0AMBAEofVv+iqDxzRBALvtg/wgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwgzg/i/CDOD+L8IM4P4vwg7gEgaMOyrMtNTwAAAABJRU5ErkJggg=="
)
file = client.files.create(file=("pixel.png", image, "image/png"), purpose="user_data")
try:
response = client.chat.completions.create(
model="qwen3-vl-plus",
max_tokens=80,
messages=[{"role": "user", "content": [
{"type": "text", "text": "Describe this image in one sentence."},
{"type": "file", "file": {"file_id": file.id}},
]}],
)
print(response.choices[0].message.content)
finally:
client.files.delete(file.id)期望:输出一句图片描述;请求结束后文件被删除。