欢迎来到Vector Store API项目!该项目旨在为嵌入和存储向量提供有效且可扩展的API,利用FastApi,Langchain和Chroma等矢量数据库的功能。无论您是处理文本,图像还是任何需要转换为向量并通过相似性搜索检索的数据,此API都可以覆盖您。 ?
这些说明将使您在本地计算机上启动和运行该项目的副本以开发和测试目的。
任务1:设置一个虚拟环境,用于管理依赖关系。
任务2:使用PIP安装FastApi和Uvicorn(ASGI服务器)。
任务3:将使用Chroma或任何其他矢量数据库客户端库项目。
任务1:定义我们需要的端点。考虑以下内容:
上载文件或文本载体的终点。
使用相似性搜索浏览存储的向量的终点。
列出或检索特定向量或其元数据的终点。
任务2:使用Pydantic模型计划端点的请求和响应模型。
任务1:实现文件/文本上传端点。
解析输入数据。
将输入嵌入向量形式(您可能需要一个外部库或服务来嵌入,例如图像的张量或拥抱face transformers用于文本)。
将载体与相关元数据一起存放在色度。
任务2:实现搜索端点。
接受查询作为输入并将其转换为向量。
在色度进行相似性搜索。
返回最接近的比赛。
任务3:根据需要实现辅助端点(用于列表,更新或删除向量)。
任务1:选择合适的矢量数据库(在这种情况下为Chroma)。
任务2:实现向量的数据存储逻辑。
任务3:使用Chroma的搜索功能实现检索和搜索逻辑。
任务1:为您的API端点编写单元测试,以确保它们按预期运行。
任务2:测试矢量存储和色度的检索功能。
任务3:执行END []到[]整个API的结束测试。
任务1:使用FastApi在Swagger UI中构建的[]记录API。
任务2:准备部署项目(考虑使用Docker进行容器化)。
任务3:部署API(选项包括Heroku,AWS或GCP)。
贡献是使开源社区成为学习,启发和创造的绝佳场所。您所做的任何贡献都非常感谢。 ?
此项目已获得MIT许可证的许可 - 有关详细信息,请参见许可证文件。