使用微软 Azure 托管的 OpenAI 服务时,LangChain4j 提供了专门的集成支持,通过 langchain4j-azure-openai
模块可以轻松实现交互。以下是详细的使用指南:
1. 准备工作
- 创建 Azure OpenAI 资源:在 Azure 门户 中创建 OpenAI 资源,获取:
- 资源端点(Endpoint):格式如
https://{your-resource-name}.openai.azure.com/
- API 密钥(Key):在资源的「密钥和端点」页面获取
- 部署名称(Deployment Name):在资源的「模型部署」页面创建模型部署(如部署
gpt-35-turbo
或gpt-4
)
- 资源端点(Endpoint):格式如
2. 添加依赖
在 pom.xml
中添加 Azure OpenAI 集成依赖:
<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-azure-openai</artifactId><version>0.272.0</version> <!-- 建议使用最新版本 -->
</dependency>
3. 基础使用示例
以下是调用 Azure OpenAI 模型的基础代码:
4. 带对话记忆的示例
结合对话记忆功能,让模型记住上下文:
5. 关键配置说明
endpoint
:Azure OpenAI 资源的唯一端点,格式固定,不可省略。deploymentName
:必须与 Azure 门户中创建的部署名称完全一致(区分大小写)。- API 版本:默认使用最新 API 版本,如需指定可添加
.apiVersion("2023-05-15")
。 - 超时与重试:可通过
.timeout(60000)
设置超时,配合重试机制处理临时网络问题。
6. 环境变量配置建议
在生产环境中,建议通过环境变量注入敏感信息:
- Windows(PowerShell):
$env:AZURE_OPENAI_ENDPOINT = "https://your-resource.openai.azure.com/"
$env:AZURE_OPENAI_API_KEY = "your-api-key"
$env:AZURE_OPENAI_DEPLOYMENT_NAME = "your-deployment-name"
- Linux/macOS(终端):
export AZURE_OPENAI_ENDPOINT="https://your-resource.openai.azure.com/" export AZURE_OPENAI_API_KEY="your-api-key" export AZURE_OPENAI_DEPLOYMENT_NAME="your-deployment-name"
7. 常见问题
- 部署名称错误:若提示「部署不存在」,检查
deploymentName
是否与 Azure 门户中的部署名称一致。 - 权限问题:确保 API 密钥对应的 Azure 账号有访问该资源的权限。
- 区域差异:Azure 资源部署在不同区域(如 East US、West Europe),端点会随之变化,需匹配正确区域。
通过以上步骤,你可以在 LangChain4j 中无缝集成 Azure OpenAI 服务,并利用其企业级特性(如稳定的 SLA、数据隐私合规)构建生产级 LLM 应用。