概述
WeaviateVectorSearchTool 专门用于在存储在 Weaviate 向量数据库中的文档中进行语义搜索。此工具允许您查找与给定查询语义相似的文档,利用向量和关键词搜索的强大功能,从而获得更准确、更具上下文相关性的搜索结果。 Weaviate 是一个向量数据库,用于存储和查询向量嵌入,从而实现语义搜索功能。安装
要将此工具集成到您的项目中,您需要安装 Weaviate 客户端开始步骤
要有效使用WeaviateVectorSearchTool,请遵循以下步骤
- 软件包安装:确认您的 Python 环境中已安装
crewai[tools]和weaviate-client软件包。 - Weaviate 设置:设置 Weaviate 集群。您可以按照 Weaviate 文档 中的说明进行操作。
- API 密钥:获取您的 Weaviate 集群 URL 和 API 密钥。
- OpenAI API 密钥:确保您已在环境变量中设置了 OpenAI API 密钥,名为
OPENAI_API_KEY。
示例
以下示例演示了如何初始化工具并执行搜索代码
参数
WeaviateVectorSearchTool 接受以下参数
- collection_name:必填。要搜索的集合的名称。
- weaviate_cluster_url:必填。Weaviate 集群的 URL。
- weaviate_api_key:必填。Weaviate 集群的 API 密钥。
- limit:可选。返回结果的数量。默认为
3。 - alpha:可选。控制向量和关键词(BM25)搜索之间的权重。alpha = 0 -> 仅 BM25,alpha = 1 -> 仅向量搜索。默认为
0.75。 - vectorizer:可选。要使用的向量化器。如果未提供,将使用
text2vec_openai和nomic-embed-text模型。 - generative_model:可选。要使用的生成模型。如果未提供,将使用 OpenAI 的
gpt-4o。
高级配置
您可以自定义工具使用的向量化器和生成模型代码
预加载文档
您可以在使用工具之前将文档预加载到 Weaviate 数据库中代码
代理集成示例
以下是如何将WeaviateVectorSearchTool 与 CrewAI 代理集成的示例
代码
结论
WeaviateVectorSearchTool 提供了一种强大的方式来在 Weaviate 向量数据库中搜索语义相似的文档。通过利用向量嵌入,它与传统的基于关键词的搜索相比,可以实现更准确、更具上下文相关性的搜索结果。此工具对于需要根据含义而不是精确匹配来查找信息的应用程序特别有用。