如果使用微软 Azure 托管的 OpenAI 服务

使用微软 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-turbogpt-4

2. 添加依赖

pom.xml 中添加 Azure OpenAI 集成依赖:

xml 复制代码
<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):
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(终端):

    bash 复制代码
    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 应用。

相关推荐
程序员大辉5 小时前
微软常用运行库
microsoft
一粒马豆6 小时前
excel表格通过前端fetch上传至后端flask处理流程示例
前端·python·flask·excel·h5·js·fetch
Q_Q5110082856 小时前
python+django/flask哈利波特书影音互动科普网站
spring boot·python·django·flask·node.js·php
百锦再6 小时前
一文掌握Flask:从基础使用到高级应用
后端·python·django·flask·virtualenv·scikit-learn·pygame
Q_Q19632884756 小时前
python+springboot+uniapp基于微信小程序的巴马旅居养老系统 旅游养老小程序
spring boot·python·小程序·django·flask·uni-app·node.js
正义的大古7 小时前
OpenLayers地图交互 -- 章节十一:拖拽文件交互详解
javascript·vue.js·microsoft·openlayers
产业家7 小时前
AI重塑流量背后,微软广告打造下一代广告生态
人工智能·microsoft
Q_Q196328847518 小时前
python+django/flask+springboot个性化旅游推荐系统(数据可视化) 景点推荐 路线匹配 用户画像建模 智能搜索筛选 图文展示系统
spring boot·python·django·flask·node.js
debug 小菜鸟18 小时前
Python + Flask + API Gateway + Lambda + EKS 实战
python·flask·gateway