# 在对话中引用文件 (/docs/cloud/services/model/guides/files)



上传、过期、下载与删除见[文件服务](/docs/cloud/services/file)。

对话中可用 `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，获取描述后删除文件。

```python
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)
```

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