工具
Qdrant 向量搜索工具
使用 Qdrant 向量数据库为 CrewAI 智能体提供语义搜索能力
QdrantVectorSearchTool
Qdrant 向量搜索工具利用 Qdrant(一个向量相似性搜索引擎),为您的 CrewAI 智能体提供语义搜索能力。此工具允许您的智能体通过语义相似性搜索存储在 Qdrant 集合中的文档。
安装
安装所需包
基本用法
这是一个如何使用该工具的最小示例
完整工作示例
这是一个完整的示例,展示了如何
- 从 PDF 提取文本
- 使用 OpenAI 生成嵌入
- 存储在 Qdrant 中
- 创建一个用于语义搜索的 CrewAI 智能体 RAG 工作流
工具参数
必需参数
qdrant_url
(str):您的 Qdrant 服务器 URLqdrant_api_key
(str):用于向 Qdrant 进行身份验证的 API 密钥collection_name
(str):要搜索的 Qdrant 集合名称
可选参数
limit
(int):要返回的最大结果数(默认值:3)score_threshold
(float):最小相似度分数阈值(默认值:0.35)custom_embedding_fn
(Callable[[str], list[float]]):用于文本向量化的自定义函数
搜索参数
该工具在其 schema 中接受这些参数
query
(str):用于查找相似文档的搜索查询filter_by
(str, 可选):用于过滤的元数据字段filter_value
(str, 可选):用于过滤的值
返回格式
该工具以 JSON 格式返回结果
默认嵌入
默认情况下,该工具使用 OpenAI 的 text-embedding-3-small
模型进行向量化。这需要
- 在环境变量中设置 OpenAI API 密钥:
OPENAI_API_KEY
自定义嵌入
除了使用默认嵌入模型外,您可能希望在以下情况下使用自己的嵌入函数:
- 想要使用不同的嵌入模型(例如,Cohere、HuggingFace、Ollama 模型)
- 需要通过使用开源嵌入模型来降低成本
- 对向量维度或嵌入质量有特定要求
- 想要使用特定领域的嵌入(例如,用于医学或法律文本)
这里有一个使用 HuggingFace 模型的示例
错误处理
该工具处理这些特定错误
- 如果未安装
qdrant-client
则引发 ImportError(可以选择自动安装) - 如果未设置
QDRANT_URL
则引发 ValueError - 如果缺少
qdrant-client
,则提示使用uv add qdrant-client
进行安装
环境变量
必需的环境变量