将文件上传到向量存储

将文件内容批量上传到向量存储

post

Upload files to a vector store.

Path parameters
vector-store-idstringRequired

The ID of the vector store.

Header parameters
x-api-keystringRequired

The API key for authentication.

Body
filesstring · binary[]Optional

The files to upload.

Responses
post
/vector-stores/{vector-store-id}/documents/upload
POST /api/v1/vector-stores/{vector-store-id}/documents/upload HTTP/1.1
Host: api.rememberizer.ai
x-api-key: text
Content-Type: multipart/form-data
Accept: */*
Content-Length: 20

{
  "files": [
    "binary"
  ]
}
{
  "documents": [
    {
      "id": 1,
      "name": "text"
    }
  ],
  "errors": [
    {
      "file": "text",
      "error": "text"
    }
  ]
}

示例请求

curl -X POST \
  https://api.rememberizer.ai/api/v1/vector-stores/vs_abc123/documents/upload \
  -H "x-api-key: YOUR_API_KEY" \
  -F "files=@/path/to/document1.pdf" \
  -F "files=@/path/to/document2.docx"

YOUR_API_KEY 替换为您的实际向量存储 API 密钥,将 vs_abc123 替换为您的向量存储 ID,并提供本地文件的路径。

批量上传最佳实践

为了优化上传大量文件时的性能和可靠性:

  1. 管理批量大小:保持批量大小在5-10个文件之间以获得最佳性能。单个请求中的文件过多会增加超时的风险。

  2. 实施速率限制:在批次之间添加延迟(建议2-3秒)以避免触及API速率限制。

  3. 添加错误重试逻辑:对于生产系统,实施失败上传的重试逻辑,采用指数退避策略。

  4. 验证文件类型:在尝试上传之前,预先过滤文件以确保它们是支持的类型。

  5. 监控批次进度:对于面向用户的应用程序,提供批量操作的进度反馈。

  6. 处理部分成功:API可能会返回207状态码以表示部分成功。始终检查单个文档的状态。

  7. 清理资源:确保所有文件句柄在发生错误时正确关闭。

  8. 明智地并行化:对于非常大的上传(数千个文件),考虑多个并发批处理进程,针对不同的向量存储,然后在需要时合并结果。

  9. 实施校验和:对于关键数据,在上传前后使用校验和验证文件完整性。

  10. 记录全面结果:保持所有上传操作的详细日志以便于故障排除。

通过遵循这些最佳实践,您可以高效地管理大规模文档的摄取到您的向量存储中。

Last updated