在springboot项目中接入豆包大模型步骤:
- 火山引擎
https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey={}
创建API Key
https://console.volcengine.com/ark/region:ark+cn-beijing/endpoint?config={}
自定义推理接入点,生成模型
2. pom.xml配置依赖
com.volcengine
volcengine-java-sdk-ark-runtime
LATEST
com.volcengine
volcengine-java-sdk-vpc
0.1.153
com.volcengine
volcengine-java-sdk-ecs
0.1.153
javax.annotation
javax.annotation-api
1.3.2
3. 调用接口时配置API Key和生成的模型ID
ArrayList在循环外是为了存放所有用户消息,保证agent的历史记忆
package org.tiktokmall.ai;
import com.volcengine.ark.runtime.model.completion.chat.ChatCompletionRequest; import com.volcengine.ark.runtime.model.completion.chat.ChatMessage; import com.volcengine.ark.runtime.model.completion.chat.ChatMessageRole; import com.volcengine.ark.runtime.service.ArkService;
import java.util.ArrayList; import java.util.List; import java.util.Scanner;
public class DoubaoChatService {
/* 接入豆包大模型,交互式问答 */ public static void main(String[] args) { //String apiKey = System.getenv("ARK_API_KEY");
String apiKey = “xxxxx”; //TODO 从环境变量中获取API密钥,或直接写死创建的appkey
// 创建ArkService实例
ArkService arkService = ArkService.builder().apiKey(apiKey).build();
// 初始化消息列表
List<ChatMessage> chatMessages = new ArrayList<>();
while(true) { Scanner scanner = new Scanner(System.in); System.out.print("发消息: (回车键为消息结束,输入“退出”则退出对话)"); // 读取字符串输入
String message = scanner.nextLine();
if(message.equals("退出")) break; // 创建用户消息
ChatMessage userMessage = ChatMessage.builder()
.role(ChatMessageRole.USER) // 设置消息角色为用户
.content(message) // 设置消息内容 .build();
// 将用户消息添加到消息列表
chatMessages.add(userMessage);
// 创建聊天完成请求
ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest.builder()
.model("xxxxxx")// TODO 需要替换为Model ID
.messages(chatMessages) // 设置消息列表 .build();
// 发送聊天完成请求并打印响应
try {
// 获取响应并打印每个选择的消息内容
arkService.createChatCompletion(chatCompletionRequest)
.getChoices() .forEach(choice -> System.out.println(choice.getMessage().getContent())); } catch (Exception e) { System.out.println("请求失败: " + e.getMessage()); } finally { // 关闭服务执行器
arkService.shutdownExecutor();
} } }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/220947.html