Skip to main content
Kimi 智能助手提供了上传文件、并基于文件进行问答的能力,Kimi API 也提供了相同的实现,下面我们用一个实际例子来讲述如何通过 Kimi API 完成文件上传和文件问答:
本页示例默认使用最新模型 kimi-k3。K3 使用请求顶层 reasoning_effort 配置推理强度(支持 "low" / "high" / "max",默认 "max")。换用 kimi-k2.6kimi-k2.5 等其他模型时,只需替换 model 字段,但各模型的参数配置存在差异,详见模型参数参考
让我们回顾一下文件问答的基本步骤及注意事项:
  1. 通过文件上传接口 /v1/files 或 SDK 中的 files.create API 将文件上传至 Kimi 服务器;
  2. 通过文件抽取接口 /v1/files/{file_id} 或 SDK 中的 files.content API 获取文件内容,此时获取的文件内容已经对齐了我们推荐的模型易于理解的格式;
  3. 将文件抽取后(已经对齐格式的)文件内容(而不是文件 id),以系统提示词 system prompt 的形式放置在 messages 列表中;
  4. 开始你对文件内容的提问;
再次注意,请将文件内容放置在 prompt 中,而不是文件的 file_id

针对多个文件的问答

如果你想针对多个文件内容进行提问,实现方式也非常简单,将每个文件单独放置在一个系统提示词 system prompt 中即可,用代码演示如下:

文件管理最佳实践

通常而言,文件上传和文件抽取功能旨在将不同格式的文件提取成对齐了我们推荐的模型易于理解的格式,在完成文件上传和文件抽取步骤后,抽取后的内容可以进行在本地进行存储,在下一次基于文件的问答请求中,不必再次进行上传和抽取动作。 同时,由于我们对单用户的文件上传数量进行了限制(每个用户最多上传 1000 个文件),因此我们建议你在文件抽取过程进行完毕后,定期清理已上传的文件,你可以定期执行下面的代码,以清理已上传的文件:
在上述代码中,我们先通过 files.list API 列出所有的文件明细,并逐一通过 files.delete API 删除文件,定期执行这样的操作,以确保释放文件存储空间,以便后续文件上传和抽取动作能成功执行。