java对接阿里通义千问

在这里插入图片描述
创建一个应用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pom.xml引入依赖
在这里插入图片描述

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dashscope-sdk-java</artifactId>
    <!-- 请将 'the-latest-version' 替换为查询到的最新版本号:https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
    <version>the-latest-version</version>
</dependency>

https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java

<!-- https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dashscope-sdk-java</artifactId>
    <version>2.17.1</version>
</dependency>

在这里插入图片描述
使用发现pom.xml已经引入了dashscope依赖 但是依赖中没有dashscope这个包
在这里插入图片描述
在这里插入图片描述
解决方案清理maven和idea缓存
在这里插入图片描述
然后就解决了
在这里插入图片描述
下面是官方提供的demo

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 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);
    }
}
### Spring Framework 与通义在人工智能应用中的集成与比较 #### 集成方面 Spring Cloud Alibaba 提供了一种机制来实现与阿里巴巴集团内部技术栈的无缝对接。通过 Spring AI 的基础架构支持,Spring Cloud Alibaba 已经完成了对通义系列大模型的接入工作[^1]。这意味着开发者可以利用 Spring 生态系统的灵活性和模块化特性,在构建机器学习或自然语言处理应用程序时轻松调用通义的能力。 具体来说,这种集成为开发人员提供了以下优势: - **简化配置流程**:借助于 Spring Boot 自动配置功能,减少了手动设置参数的工作量。 - **增强可维护性**:遵循一致的设计模式使得代码更易于理解和扩展。 - **促进微服务部署**:允许将复杂的 NLP 功能作为独立的服务单元运行并与其他业务逻辑协同操作。 以下是展示如何在一个简单的 Java 应用程序中初始化并与通义交互的一个基本例子: ```java @SpringBootApplication public class TongyiQianwenApplication { public static void main(String[] args) { SpringApplication.run(TongyiQianwenApplication.class, args); // 假设这里有一个方法用于连接到通义API String response = callTongyiQianwenApi("你好"); System.out.println(response); } private static String callTongyiQianwenApi(String input){ RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); Map<String, Object> map = new HashMap<>(); map.put("prompt", input); HttpEntity<Map<String, Object>> entity = new HttpEntity<>(map, headers); ResponseEntity<String> result = restTemplate.postForEntity( "https://example.com/tongyi-qianwen-api", entity, String.class ); return result.getBody(); } } ``` 此代码片段展示了如何使用 `RestTemplate` 向假设存在的通义 API 发送请求,并打印返回的结果。 #### 对比分析 当考虑 Spring 和通义之间的差异时,可以从以下几个维度来进行评估: 1. **目标领域** - Spring 是一个通用的企业级框架,适用于各种类型的软件项目开发。 - 而通义专注于提供强大的自然语言理解能力以及生成高质量文本的功能。 2. **适用场景** - 使用 Spring 可以为任何规模的应用创建结构良好的解决方案。 - 通义则特别适合那些需要高级对话代理或者自动化写作等功能的任务。 3. **技术支持方式** - 开发者社区围绕着 Spring 形成了庞大的生态系统和技术文档资源。 - 关于通义的支持主要来源于阿里云官方指南及其关联的学习材料。 尽管两者服务于不同的目的,但它们能够很好地互补——即由 Spring 构建稳定可靠的后端环境,而让通义负责前端用户体验优化和服务智能化升级。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值