能否仅通过curl调用OpenAI API创建vector store并完成PDF上传与提问?
用Curl完成OpenAI向量存储全流程操作
完全可以仅通过curl发起API请求完成向量存储创建、PDF文件上传及查询操作,以下是具体操作步骤:
1. 创建向量存储
执行以下命令创建新的向量存储,替换YOUR_OPENAI_API_KEY为你的实际密钥,MY_VECTOR_STORE为自定义存储名称:
curl https://api.openai.com/v1/vector_stores \ -H "Authorization: Bearer YOUR_OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "MY_VECTOR_STORE" }'
返回结果中的id字段记为VECTOR_STORE_ID,后续步骤需使用该值。
2. 上传PDF文件并关联到向量存储
2.1 上传单个PDF文件
重复此命令上传两个PDF文件,替换YOUR_OPENAI_API_KEY、FIRST_PDF_PATH(第二个文件替换为SECOND_PDF_PATH):
curl https://api.openai.com/v1/files \ -H "Authorization: Bearer YOUR_OPENAI_API_KEY" \ -F purpose="assistants" \ -F file=@FIRST_PDF_PATH
每个文件上传后返回的id字段分别记为FILE_ID_1和FILE_ID_2。
2.2 将文件关联到向量存储
执行以下命令批量关联文件到向量存储,替换YOUR_OPENAI_API_KEY、VECTOR_STORE_ID、FILE_ID_1和FILE_ID_2:
curl https://api.openai.com/v1/vector_stores/VECTOR_STORE_ID/file_batches \ -H "Authorization: Bearer YOUR_OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "file_ids": ["FILE_ID_1", "FILE_ID_2"], "chunking_strategy": { "type": "auto" } }'
等待返回的status变为completed后,即可进行查询操作。
3. 提交问题查询
使用Chat Completions API结合向量存储查询,替换YOUR_OPENAI_API_KEY、VECTOR_STORE_ID和你的具体问题:
curl https://api.openai.com/v1/chat/completions \ -H "Authorization: Bearer YOUR_OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-4o", "messages": [ {"role": "user", "content": "你的具体问题"} ], "tools": [ { "type": "file_search", "file_search": { "vector_store_ids": ["VECTOR_STORE_ID"] } } ], "tool_choice": "auto" }'
返回结果会包含基于向量存储中PDF内容生成的回答。
内容的提问来源于stack exchange,提问作者maverick30
相关产品推荐
相关产品推荐

