当前位置: 首页 > news >正文

如果使用微软 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 集成依赖:

<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 应用。

http://www.hskmm.com/?act=detail&tid=15536

相关文章:

  • Python类
  • 什么是文件外发审批?主要有哪几种关键流程?
  • VPX处理板设计原理图:9-基于DSP TMS320C6678+FPGA XC7V690T的6U VPX信号处理卡 C6678板卡, XC7VX690T板卡, VPX处理板
  • VitePress 添加友链界面
  • 跨网文件摆渡软件:企业数据安全高效传输的关键解决方案!
  • 洛谷题单指南-进阶数论-P1495 【模板】中国剩余定理(CRT)/ 曹冲养猪
  • 第十四届蓝桥杯青少组C++选拔赛[2022.12.18]第二部分编程题(4、充电站) - 指南
  • c语言之自定义memcpy
  • 国产芯片处理板卡:7-基于国产化FT-M6678+JFM7K325T的6U CPCI信号处理卡
  • 一文详解纷享销客CRM Agent平台3大核心能力(附应用场景与案例)
  • QOJ #5076. Prof. Pang and Ants 题解
  • 发现5个宝藏文件摆渡系统 2025年企业首选的摆渡方案是这个!
  • 漏洞挖掘实战:如何定制化模糊测试技术
  • nuxt3中使用pdfjs-dist实现pdf转换canvas实现浏览
  • 查看linux部署网站的TLS版本号
  • 【SpringBoot- Spring】学习
  • 基于Python+Vue开发的摄影网上预约管理系统源码+运行步骤
  • 【习题答案】《深入理解计算机系统(原书第三版)》
  • 深入解析:mosquitto求医之路(3):Docker安装也不好使
  • 在K8S中,在服务上线的时候Pod起不来怎么进行排查?
  • 在线教育软件开发的全流程解析与优化方案
  • 在K8S中,⼀个pod的不同container能够分开被调动到不同的节点上吗?
  • 在K8S中,如果是因为开发写的镜像问题导致pod起不来该怎么排查?
  • 上海应用大学网课自动化学习脚本(基于Python selenium)代码重构为GUI界面 —— 技术笔记
  • 在K8S中,Deployment⽀持扩容吗?它与HPA有什么区别?
  • 开源语音识别FunASR入门详解
  • AT_abc201_f [ABC201F] Insertion Sort 题解
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • c语言动态内存分配
  • 2025.9.24——1橙