一、阿里云 集成智能体

1.什么是智能体

AI 智能体(Intelligent Agent) 是指一种能自主感知环境、处理信息并执行决策以实现特定目标的软件实体。它通过集成大语言模型(LLM)、机器学习框架与业务流程,赋予传统 Java 应用智能化能力

应用场景 如智能客服系统 业务流程自动化 开发辅助工具 个性化推荐与风控 等

开发与部署方式

1.远程 API 调用:快速对接云服务(如 DeepSeek API),适合轻量级应用

2.本地模型部署:使用 Ollama 或 DJL 本地运行大模型,保障数据隐私(如医疗、金融场景)

2.如何创建智能体

1.登录阿里百炼平台

2.创建Api Key!!!!!!!!! (这个非常重要一定要记好)

3.创建应用

4.设置智能体参数

参考配置:

5.发布成功:

3.集成智能体

1.配置系统环境变量

  1. 在Windows系统桌面中按Win+Q键,在搜索框中搜索编辑系统环境变量,单击打开系统属性界面。

  2. 系统属性窗口,单击环境变量,然后在系统变量区域下单击新建变量名填入DASHSCOPE_API_KEY变量值填入您的DashScope API Key。

  3. 依次单击三个窗口的确定,关闭系统属性配置页面,完成环境变量配置。

  4. 打开CMD(命令提示符)窗口或Windows PowerShell窗口,执行如下命令检查环境变量是否生效。

    • CMD查询命令:

      echo %DASHSCOPE_API_KEY%
    • Windows PowerShell查询命令:

      echo $env:DASHSCOPE_API_KEY
2.安装SDK

3.项目集成

测试实例(JDK版本建议17及以上)

// 建议dashscope SDK的版本 >= 2.12.0
import com.alibaba.dashscope.app.*;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
​
public class Main {
    public static void appCall()
            throws ApiException, NoApiKeyException, InputRequiredException {
        ApplicationParam param = ApplicationParam.builder()
                // 若没有配置环境变量,可用百炼API Key将下行替换为:.apiKey("sk-xxx")。但不建议在生产环境中直接将API Key硬编码到代码中,以减少API Key泄露风险。
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))//百练的API key
                .appId("YOUR_APP_ID")//你的应用id
                .prompt("你是谁?")
                .build();
​
        Application application = new Application();
        ApplicationResult result = application.call(param);
​
        System.out.printf("text: %s\n",
                result.getOutput().getText());
    }
​
    public static void main(String[] args) {
        try {
            appCall();
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            System.err.println("message:"+e.getMessage());
            System.out.println("请参考文档:https://help.aliyun.com/zh/model-studio/developer-reference/error-code");
        }
        System.exit(0);
    }
}

多轮对话

相比于单轮对话,多轮对话可以让大模型参考历史对话信息,更符合日常交流的场景。

云端存储 自行管理
通过传入 session_id,系统会自动从云端加载存储的对话历史,并结合新的指令生成上下文。 需要维护一个 messages 数组,手动记录和传递每一轮的对话历史及新指令。
必传参数session_id:会话ID。prompt:提示词。 必传参数:messages 数组可选参数:prompt(可选)若传入promptprompt 会被转换为一条 {"role": "user", "content": "prompt"},自动追加到 messages 末尾,生成最终上下文。
优先级规则:若同时传入 session_idmessages,则优先使用 messages,忽略 session_id

试例

// 原始传入
{
  "messages": [{"role": "user", "content": "你好"}], 
  "prompt": "推荐一部电影"
}
// 实际生效的messages
[
  {"role": "user", "content": "你好"}, 
  {"role": "user", "content": "推荐一部电影"}
]

云存储示例

import com.alibaba.dashscope.app.*;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import java.util.Arrays;
import java.util.List;
public class Main {
    public static void callWithSession()
            throws ApiException, NoApiKeyException, InputRequiredException {
        ApplicationParam param = ApplicationParam.builder()
                // 若没有配置环境变量,可用百炼API Key将下行替换为:.apiKey("sk-xxx")。但不建议在生产环境中直接将API Key硬编码到代码中,以减少API Key泄露风险。
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // 替换为实际的应用 ID
                .appId("YOUR_APP_ID")
                .prompt("你是谁?")
                .build();
​
        Application application = new Application();
        ApplicationResult result = application.call(param);
​
        param.setSessionId(result.getOutput().getSessionId());
        param.setPrompt("你有什么技能?");
        result = application.call(param);
​
        System.out.printf("%s\n session_id: %s\n",
                result.getOutput().getText(), result.getOutput().getSessionId());
    }
​
    public static void main(String[] args) {
        try {
            callWithSession();
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            System.out.printf("Exception: %s", e.getMessage());
            System.out.println("请参考文档:https://help.aliyun.com/zh/model-studio/developer-reference/error-code");
        }
        System.exit(0);
    }
}

流式输出

大模型接收输入后,逐步生成中间结果并实时输出。这种方式称为流式输出,在模型生成过程中即时查看内容,减少等待时间。

流式输出的实现方式

根据调用方式的不同,设置相应参数即可启用流式输出:

  • Java SDK方式:使用streamCall方法。

  • HTTP方式:在Header中指定X-DashScope-SSEenable

流式输出的内容默认是非增量式(即每次返回的内容都包含之前生成的内容),如需增量输出,请设置相应参数:

  • Java SDK方式:使用 incrementalOutput 方法并设置为 true

  • HTTP方式:在 parameters 中使用 incremental_output参数并设置为true

调用示例

如果智能体应用内使用了深度思考模型(例如 Qwen3),输出顺序为“先思考、后答案”。调用时设置has_thoughts参数为True,即可在thoughts字段中返回思考过程。

  • 其中Qwen3模型开启思考模式有两种方式:一是在应用内打开思考模式开关并发布应用;二是API调用时设置 enable_thinkingtrue 。若同时设置,则以API参数为准。

  • 其他思考模型默认开启思考模式,且无法关闭。

请求示例

// 建议dashscope SDK的版本 >= 2.15.0
import com.alibaba.dashscope.app.*;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import io.reactivex.Flowable;// 流式输出
// 智能体应用调用实现流式输出结果
​
public class Main {
    public static void streamCall() throws NoApiKeyException, InputRequiredException {
        ApplicationParam param = ApplicationParam.builder()
                // 若没有配置环境变量,可用百炼API Key将下行替换为:.apiKey("sk-xxx")。但不建议在生产环境中直接将API Key硬编码到代码中,以减少API Key泄露风险。
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // 替换为实际的应用 ID
                .appId("YOUR_APP_ID")
                .prompt("你是谁?")
                // 增量输出
                .incrementalOutput(true)
                .build();
        Application application = new Application();
        // .streamCall():流式输出内容
        Flowable<ApplicationResult> result = application.streamCall(param);
        result.blockingForEach(data -> {
            System.out.printf("%s\n",
                    data.getOutput().getText());
        });
    }
    public static void main(String[] args) {
        try {
            streamCall();
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            System.out.printf("Exception: %s", e.getMessage());
            System.out.println("请参考文档:https://help.aliyun.com/zh/model-studio/developer-reference/error-code");
        }
        System.exit(0);
    }
}

二、集成AI语音通话

1.配置语音通话

授权完成后点击验证

2.开通智能媒体服务

体验包 这里需要20元的预算!

3.进行配置

给API key授权

点击体验

配置

然后重新发布版本 进行配置

4.设置AccessKey

操作步骤

  1. 登录RAM控制台

  2. 在左侧导航栏,选择*身份管理* > *用户*

  3. 用户页面,单击目标RAM用户名称。

  4. 认证管理页签下的AccessKey区域,单击创建AccessKey

5.阅读AccessKey使用场景及使用建议,强烈建议您遵从使用建议选择更合适的凭据方案。如果必须创建AccessKey,则选择对应使用场景后,勾选我确认必须创建AccessKey,然后单击继续创建,创建的AccessKey不受使用场景的影响。

6.根据界面提示完成安全验证。

7.在创建AccessKey对话框,保存AccessKey ID和AccessKey Secret,然后单击确定

配置AccessKey网络访问限制策略,可以限制使用永久AccessKey的API请求来源IP地址,将AccessKey调用来源控制在可信的网络环境内,提升AccessKey的安全性。建议您明确AccessKey使用的网络环境,然后单击配置网络访问策略,配置AccessKey的网络访问策略。具体操作,请参见配置RAM用户的AccessKey级网络访问限制策略

5.开通用户

6.集成语音通话

下载完源码之后安装完依赖根据以下步骤操作

(由于项目是Java8环境 但可被JDK17所兼容,可以让AI工具(augment,cursor等)帮忙修改为JDK17可用版本)

React文件夹下的文件均不是Vue有需要可以让AI工具修改为vue的版本

全部设置完成即可体验语音通话

三、数字人通话

1.创建数字人通话工作流

2.申请阿里数字人白名单

3.设置数字人形象

4.创建智能体

我们记住刚才的工作流然后创建智能体

5.项目中集成

最终效果

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐