使用CSV创建OpenAI检索Agent时API报错:不支持CSV文件类型
解决OpenAI Assistant API不支持CSV文件的问题
问题描述
使用OpenAI Assistant API创建带检索功能的Agent时,上传CSV文件后触发400错误,系统提示不支持application/csv文件类型。
原代码示例
OPENAI_API_KEY = os.environ["OPENAI_API_KEY"] client = OpenAI( api_key=OPENAI_API_KEY ) file = client.files.create(file=open("knowledge.csv", "rb"), purpose='assistants') assistant = client.beta.assistants.create(instructions=<instructions>,, model="gpt-4-1106-preview", tools=[{ "type": "retrieval" }], file_ids=[file.id])
错误信息
File "/home/tromanow/anaconda3/envs/agents/lib/python3.11/site- openai.BadRequestError: Error code: 400 - {'error': {'message': 'Failed to index file: Unsupported file file-KmwSJUOYZFRMGMC9NEUHGY0k type: application/csv', 'type': 'invalid_request_error', 'param': None, 'code': None}}
解决方案
OpenAI Assistant的检索工具目前不直接支持CSV格式,需要将文件转换为平台支持的格式(如TXT、PDF、DOCX)后再上传。
具体操作:
- 简单方案:把CSV内容复制到TXT文件中,或直接将CSV导出为PDF/DOCX格式。
- 优化方案:如果需要保留结构化数据,可将CSV内容转换为Markdown表格格式后保存为TXT,这样检索时内容更规整易读。
- 修改代码中的文件路径为转换后的文件即可。
修正后的代码示例
import os from openai import OpenAI OPENAI_API_KEY = os.environ["OPENAI_API_KEY"] client = OpenAI(api_key=OPENAI_API_KEY) # 上传转换后的文件,此处以TXT为例 file = client.files.create( file=open("knowledge.txt", "rb"), purpose='assistants' ) assistant = client.beta.assistants.create( instructions="替换为你的具体指令内容", model="gpt-4-1106-preview", tools=[{"type": "retrieval"}], file_ids=[file.id] )
内容的提问来源于stack exchange,提问作者Ya.
相关产品推荐
相关产品推荐

