第一个人工智能(AI)问答Demo

说明:现在解决问题都用DeepSeek、ChatGPT或其他工具,AI工具的兴起、发展,现在很多其他领域的应用、系统都加入了AI功能。

本文介绍如何快速实现问答Demo,基于阿里云百炼平台。

百炼平台

登录阿里云百炼平台,创建一个API Key

Demo

在官方提供的API文档中,找到下面这段代码

java 复制代码
// 建议dashscope SDK的版本 >= 2.12.0
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;
import com.alibaba.dashscope.utils.JsonUtils;

public class Main {
    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(System.getenv("DASHSCOPE_API_KEY"))
                // 此处以qwen-plus为例,可按需更换模型名称。模型列表: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(JsonUtils.toJson(result));
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            // 使用日志框架记录异常信息
            System.err.println("An error occurred while calling the generation service: " + e.getMessage());
        }
        System.exit(0);
    }
}

创建一个Maven项目,引入依赖

xml 复制代码
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dashscope-sdk-java</artifactId>
    <version>2.20.3</version>
</dependency>

依赖坐标来自Maven官网。将代码中的这里,更换成自己前面创建的API Key。

使用

执行,如下,返回回答,是一个JSON格式的文本数据

格式化后如下,其中的content是回答内容

这个Demo就完成了。

另外

API请求中可以加很多参数,这里介绍几个重要的

总结

本文介绍如何快速实现一个问答Demo

相关推荐
一 铭5 分钟前
Claude Agent Skills:一种基于 Prompt 扩展的元工具架构
人工智能·大模型·llm·prompt
连线Insight10 分钟前
小马智行港股上市:自动驾驶从“技术追跑”到“商业领跑”的里程碑
人工智能
学习编程的Kitty10 分钟前
JavaEE初阶——多线程(5)单例模式和阻塞队列
java·开发语言·单例模式
m0_3722570211 分钟前
项目下有多个模块,每个模块有pom文件,是怎么继承的
java·tomcat
xier_ran12 分钟前
深度学习:为什么不能将多层神经网络参数全部初始化为零以及如何进行随机初始化
人工智能·深度学习
扫地僧98513 分钟前
[特殊字符]用于糖尿病视网膜病变图像生成的生成对抗网络(GAN)
人工智能·神经网络·生成对抗网络
文心快码BaiduComate17 分钟前
疯了!双11,百度文心快码帮我省钱又赚钱?
人工智能
大刘讲IT18 分钟前
赋能中小企业:基于五大开源模块的AI智能体构建方案与细化拆解
人工智能·经验分享·ai·开源·制造
来让爷抱一个20 分钟前
企业级AI知识库新纪元:如何用开源力量重塑知识管理?
人工智能·开源
巴塞罗那的风24 分钟前
Eino框架快速搭建出行agent(二)引入12306 mcp
人工智能·golang·mcp