Spring boot + Azure OpenAI 服务 1.使用 GPT-35-Turbo

Azure OpenAI 服务使用 GPT-35-Turbo

先决条件

maven 注意 beta.6 版本

bash 复制代码
 <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-ai-openai</artifactId>
            <version>1.0.0-beta.6</version>
        </dependency>

问答工具类

java 复制代码
package com.aiit.project.util;

import com.azure.ai.openai.OpenAIClient;
import com.azure.ai.openai.OpenAIClientBuilder;
import com.azure.ai.openai.models.*;
import com.azure.core.credential.AzureKeyCredential;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.List;
/**
 * azureOpenai 问答工具类
 */
@Slf4j
public class GptUtils {
    public static String getGpt(String str) throws InterruptedException {
        //读取系统参数
        String azureOpenaiKey = System.getenv("AZURE_OPENAI_KEY");
        String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT");
        String deploymentOrModelId = "gpt";
        //参数拼接
        OpenAIClient client = new OpenAIClientBuilder()
                .endpoint(endpoint)
                .credential(new AzureKeyCredential(azureOpenaiKey))
                .buildClient();
        List<ChatRequestMessage> chatMessages = new ArrayList<>();
        //提示词工程
        chatMessages.add(new ChatRequestSystemMessage("*****"));
        chatMessages.add(new ChatRequestUserMessage("****"));
        chatMessages.add(new ChatRequestAssistantMessage("*****"));
        chatMessages.add(new ChatRequestUserMessage(str));
        //建立连接
        ChatCompletions chatCompletions = client.getChatCompletions(deploymentOrModelId, new ChatCompletionsOptions(chatMessages));
        //返回
        return chatCompletions.getChoices().get(0).getMessage().getContent();
    }
}

支持并发

相关推荐
杨运交1 小时前
082-缓存模块-基于 Redis Lua 脚本实现分布式锁与原子操作实战
spring boot
aibo8603082 小时前
基于 Spring Boot + Vue3 的博物馆藏品管理系统设计与实现
java·spring boot·后端
zzu123zsw2 小时前
把条件校验收敛到枚举接口:Spring Boot 统一断言模式与零污染异常切面工程化
java·spring boot·后端·架构设计
code_slave(码畜)2 小时前
微服务架构落地:分库分表实战(下) —— 分布式主键、跨分片查询与分页聚合防坑
数据库·spring boot·分布式·spring cloud·微服务·架构·分库分表
zzu123zsw3 小时前
面对多 RPC 扇入超时崩溃:深入 asyncTool 核心 DAG 编排与线程池隔离防护
java·网络·spring boot·网络协议·rpc·并发编程
aibo8603084 小时前
基于 Spring Boot + Vue3 的爱心众筹管理系统设计与实现
java·spring boot·后端
aibo8603085 小时前
基于 Spring Boot + Vue3 的餐饮食材采购与成本分析系统设计与实现
java·spring boot·后端
aibo8603085 小时前
基于 Spring Boot + Vue3 的菜谱分享网站设计与实现
java·spring boot·后端
凤山老林5 小时前
Spring Boot 集成 TOTP 双因素认证与恢复码机制
java·spring boot·后端
vipxieliang5 小时前
Spring Boot 测试策略:单元测试、切片测试与集成测试
java·spring boot·后端