引言
在现代信息密集的时代,快速、准确地检索和生成文档内容(RAG,即Retrieval-Augmented Generation)变得尤为重要。通过结合Azure AI Search和OpenAI的强大功能,我们可以创建一个高效、智能的文档处理系统。本文将引导您了解如何使用Azure AI Search作为向量存储,以及如何使用Azure OpenAI进行聊天和嵌入。
主要内容
环境准备
在开始之前,您需要确保拥有以下Azure资源:
- Azure AI Search
- Azure OpenAI
环境变量设置
确保设置以下环境变量才能正常运行:
必需的变量:
AZURE_SEARCH_ENDPOINT:Azure AI Search服务的端点。AZURE_SEARCH_KEY:Azure AI Search服务的API密钥。AZURE_OPENAI_ENDPOINT:Azure OpenAI服务的端点。AZURE_OPENAI_API_KEY:Azure OpenAI服务的API密钥。AZURE_EMBEDDINGS_DEPLOYMENT:用于嵌入的Azure OpenAI部署名称。AZURE_CHAT_DEPLOYMENT:用于聊天的Azure OpenAI部署名称。
可选的变量:
AZURE_SEARCH_INDEX_NAME:使用的Azure AI Search索引名称。如果未提供,将创建名为“rag-azure-search”的索引。OPENAI_API_VERSION:使用的Azure OpenAI API版本,默认为“2023-05-15”。
使用步骤
首先,确保安装了LangChain CLI:
pip install -U langchain-cli
创建新的LangChain项目并安装rag-azure-search包:
langchain app new my-app --package rag-azure-search
或者在现有项目中添加:
langchain app add rag-azure-search
在server.py文件中添加以下代码:
from rag_azure_search import chain as rag_azure_search_chain
add_routes(app, rag_azure_search_chain, path="/rag-azure-search")
配置LangSmith(可选)
LangSmith可帮助追踪、监控和调试LangChain应用。您可以在此处注册。
设置环境变量:
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project>
启动LangServe实例:
langchain serve
访问本地运行的服务器:http://localhost:8000
代码示例
以下是如何通过代码访问模板的示例:
from langserve.client import RemoteRunnable
runnable = RemoteRunnable("http://localhost:8000/rag-azure-search") # 使用API代理服务提高访问稳定性
常见问题和解决方案
-
网络访问问题: 由于某些地区的网络限制,建议使用API代理服务来提高访问稳定性。
-
环境变量设置错误: 检查环境变量确保其正确设置,尤其是API密钥和端点。
总结和进一步学习资源
通过本文,您了解了如何集成Azure AI Search和OpenAI进行文档检索生成。建议进一步阅读Azure和OpenAI的官方文档,以及LangChain和LangSmith的使用指南来提升您的应用开发能力。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---