如果使用微软 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-turbo 或 gpt-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 应用。

相关推荐
2601_9498477517 小时前
Cookie 跨端三方库仓颉适配全流程
python·django·flask
Ai-_Man19 小时前
Microsoft Copilot对话数据怎么导入到另外一个Microsoft Copilot账号里去?AI导出鸭
开发语言·javascript·人工智能·microsoft·chatgpt·ecmascript·copilot
镜子AI1 天前
镜子AI工程教程:用Python实现关键词布局检查器与语义改写查重(附完整代码)
人工智能·python·microsoft
鬼手点金3 天前
带工具调用的多轮交互:Agent 的核心循环
服务器·人工智能·windows·深度学习·microsoft·机器学习·交互
Navicat中国3 天前
Navicat 18 支持 Azure OpenAI 接入,合规 AI 赋能 SQL 开发
数据库·人工智能·microsoft·ai·azure·navicat·数据
张张123y4 天前
2026 Agent 框架怎么选?拆 3 层底层逻辑(运行循环 / 记忆 / 工具协议)+ 一张决策表
linux·ubuntu·microsoft·langgraph·mcp·crewai·agent 框架
霍格沃兹测试学院-小舟畅学4 天前
Playwright CLI:语义快照与局部检索,AI 如何找到正确的页面元素?
人工智能·microsoft
tryCbest4 天前
Python之Flask项目部署到阿里云
python·阿里云·flask
某不知名網友4 天前
ROS2进阶:服务通信、自定义SRV接口、参数服务器与基于服务的参数通信详解
java·开发语言·microsoft
不爱学英文的码字机器5 天前
从Q1迁到T1,同一个编号已经换了含义
前端·数据库·microsoft