在对话中引用文件

通过文件 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)

期望:输出一句图片描述;请求结束后文件被删除。

导出

本页内容

本页没有小节