概述
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 向量数据库中搜索语义相似的文档。通过利用向量嵌入,它能够实现比传统基于关键词的搜索更准确、更具上下文相关性的搜索结果。该工具特别适用于需要根据意义而非精确匹配来查找信息的应用。