使用Azure OpenAI时如何配置llama_index的VectorStoreIndex API密钥?
解决LlamaIndex对接Azure OpenAI的配置问题
要让LlamaIndex正确对接Azure OpenAI,需要同时配置OpenAI SDK的Azure参数,以及LlamaIndex的全局设置,具体步骤如下:
1. 确保依赖包完整
如果使用LlamaIndex v0.10+版本,需单独安装OpenAI相关LLM依赖:
pip install llama-index-llms-openai
2. 配置Azure OpenAI参数
在代码开头添加以下配置,替换为你的Azure服务信息:
import os import openai from llama_index.core import VectorStoreIndex, Settings from llama_index.llms.openai import AzureOpenAI # 配置OpenAI SDK的Azure环境 openai.api_type = "azure" openai.api_key = os.getenv("AZURE_OPENAI_API_KEY") openai.api_base = os.getenv("AZURE_OPENAI_ENDPOINT") openai.api_version = os.getenv("AZURE_OPENAI_API_VERSION") # 配置LlamaIndex使用Azure OpenAI作为LLM Settings.llm = AzureOpenAI( deployment_name="你的Azure模型部署名称", # 比如你部署gpt-35-turbo时设置的自定义ID model="gpt-35-turbo", api_key=openai.api_key, azure_endpoint=openai.api_base, api_version=openai.api_version ) # 若需使用Azure嵌入模型,可添加以下配置 # from llama_index.embeddings.openai import AzureOpenAIEmbedding # Settings.embed_model = AzureOpenAIEmbedding( # deployment_name="你的嵌入模型部署名称", # model="text-embedding-ada-002", # api_key=openai.api_key, # azure_endpoint=openai.api_base, # api_version=openai.api_version # )
3. 正常创建VectorStoreIndex
完成配置后,继续执行原有代码创建索引即可:
index = VectorStoreIndex.from_documents(docs) index.storage_context.persist()
关键说明
api_type必须设为"azure",这是OpenAI SDK区分原生与Azure服务的核心标识deployment_name是你在Azure AI Studio中创建的模型部署名称,而非模型本身的官方名称- 若使用嵌入模型,需确保Azure上已部署对应嵌入模型(如text-embedding-ada-002),并同步配置
Settings.embed_model
内容的提问来源于stack exchange,提问作者Keithx
相关产品推荐
相关产品推荐

