使用java实现通义千问的阿里云搭建
这个版本只是一个基础的ai问答实现,就是最少的方式实现,方便可以快速体验一下,需要的话后续会更新成熟的内容首先搜索,进入到这个页面之后登录注册并且绑定,这样主要内容是获取获取这个api-key,相当于身份信息,点进去之后创建一个API-KEY然后将这个key进行查看和获取,这时候前置已经完成。复制以下代码进行一次提问将自己的key替换实现,进行一次问答。可以获取到结果我是通义千问,由阿里云开发的A
最简易版基础实现(一次问答)
这个版本只是一个基础的ai问答实现,就是最少的方式实现,方便可以快速体验一下,需要的话后续会更新成熟的内容
首先搜索阿里云百炼,进入到这个页面之后登录注册并且绑定,这样主要内容是获取
获取这个api-key,相当于身份信息,点进去之后创建一个API-KEY
然后将这个key进行查看和获取,这时候前置已经完成。
复制以下代码进行一次提问
import java.util.Arrays;
import java.lang.System;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
public class Tongyiqianwen {
public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
Generation gen = new Generation();
Message systemMsg = Message.builder()
.role(Role.SYSTEM.getValue())
.content("You are a helpful assistant.")
.build();
Message userMsg = Message.builder()
.role(Role.USER.getValue())
.content("你是谁?")
.build();
GenerationParam param = GenerationParam.builder()
// 若没有配置环境变量,请用百炼API Key将下行替换为:.apiKey("sk-xxx")
.apiKey("api-key")
// 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
.model("qwen-plus")
.messages(Arrays.asList(systemMsg, userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.build();
return gen.call(param);
}
public static void main(String[] args) {
try {
GenerationResult result = callWithMessage();
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.err.println("错误信息:"+e.getMessage());
System.out.println("请参考文档:https://help.aliyun.com/zh/model-studio/developer-reference/error-code");
}
System.exit(0);
}
}
将自己的key替换实现,进行一次问答。可以获取到结果
SLF4J(W): Class path contains multiple SLF4J providers.
SLF4J(W): Found provider [ch.qos.logback.classic.spi.LogbackServiceProvider@15615099]
SLF4J(W): Found provider [org.slf4j.simple.SimpleServiceProvider@1edf1c96]
SLF4J(W): See https://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J(I): Actual provider is of type [ch.qos.logback.classic.spi.LogbackServiceProvider@15615099]
我是通义千问,由阿里云开发的AI助手。我可以回答各种问题、提供信息和与用户进行对话。有什么我可以帮助你的吗?
连续问答实现(可以进行多轮对话)
训练一个AI知识库
更多推荐
所有评论(0)