如何使用AzureOpenAI客户端从内存上传数据集文件?
从内存直接上传数据到Azure OpenAI助手
问题出在你使用了pickle格式,而Azure OpenAI助手不支持该格式,仅支持报错信息中列出的类型(如CSV)。正确做法是在内存中将DataFrame转为CSV格式的字节流,同时指定文件名让服务识别格式。
实现代码
from openai import AzureOpenAI import pandas as pd client = AzureOpenAI(**credentials_here) # 内存中的DataFrame df = pd.DataFrame({ "A": [1, 2, 3, 4, 5], "B": [6, 7, 8, 9, 10], "C": [11, 12, 13, 14, 15], }) # 将DataFrame转为内存中的CSV字节流 csv_bytes = df.to_csv(index=False).encode('utf-8') # 上传文件,指定filename让Azure识别为CSV格式 file = client.files.create( file=csv_bytes, purpose="assistants", filename="data.csv" )
关键说明
- 用
df.to_csv(index=False)生成CSV格式字符串,再通过encode('utf-8')转为字节对象,符合Azure OpenAI对bytes-like对象的要求。 - 必须指定
filename参数,服务需要通过文件名后缀判断文件格式,否则即使内容是CSV,也会被识别为未知格式导致报错。
内容的提问来源于stack exchange,提问作者Marshall K
相关产品推荐
相关产品推荐

