# BaiLianAi
**Repository Path**: hntjb/BaiLianAi
## Basic Information
- **Project Name**: BaiLianAi
- **Description**: 阿里云百炼大模型AI应用落地演示
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 1
- **Created**: 2024-07-26
- **Last Updated**: 2025-04-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### 一、登录阿里云百炼控制台
控制台地址(建议用支付宝登录):
**https://bailian.console.aliyun.com/**
阿里云百炼平台内置了很多大模型,其中包括自研**通义千问**大模型,以及优秀的第三方大模型。我们可以点击左侧菜单-模型广场。
我们可以对指定模型进行**效果实测**。
### 二、创建应用
在左侧菜单-我的应用,点击“创建应用”
点击左上角编辑按钮,可以修改应用名称。
### 三、配置大模型
项目创建后,我们这里可以配置应用的大模型,我们这里选用**通义千问-Turbo**
### 四、创建API-KEY
阿里云百炼目前支持以下Java和Python编程语言,Java或者Python项目在调用平台接口的时候,需要一个API-KEY。我们可以点击右上角账户管理 - API-KEY。创建KEY,以及选择对应API-KEY,点击操作栏查看。
### 五、集成流程管理应用组件
支持通过画布的方式,编排复杂业务流程对接大模型。完成流程编排后,可以直接创建关联新建应用或关联已有应用。提升接入大模型的效率,同时提供应用流程的全生命周期管理,包括流程编排、试验、部署等。
点击左侧菜单-流程管理 新建流程,取名 “城市美食推荐”
先拖入开始节点和结束节点,再拖入一个大模型节点,编写提示词,以及定义参数,然后再拖入一个API调用节点,用Python脚本对大模型计算结果进行格式化返回。
右侧,我们可以对流程进行测试,以及发布。
最后在应用里,我们可以选择流程,添加到我的应用中。
### 六、创建Springboot项目,调用阿里云百炼API
IDEA里新建SpringBoot项目,pom.xml里加入dashscope-sdk-java依赖
```java
com.alibaba
dashscope-sdk-java
2.15.2
```
新建ApiController.java,调用阿里云百炼平台AI接口,应用项目映射路径/bailian/api
```java
package com.java1234.bailian_api.controller;
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;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@RestController
@RequestMapping("/bailian")
public class ApiController {
public String callWithMessage(String city)
throws NoApiKeyException, ApiException, InputRequiredException {
Generation gen = new Generation();
List messages = new ArrayList<>();
Message systemMsg =
Message.builder().role(Role.SYSTEM.getValue()).content("You are a helpful assistant.").build();
Message userMsg = Message.builder().role(Role.USER.getValue()).content("请根据以下指定城市,给我推荐十道地方美食,仅输出美食名称即可,格式形如{\"北京烤鸭\",\"西湖牛肉羹\",\"脆皮鸡\"},美食字段为foodName,城市为:"+city).build();
messages.add(systemMsg);
messages.add(userMsg);
GenerationParam param =
GenerationParam.builder().model(Generation.Models.QWEN_TURBO).messages(messages)
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.build();
param.setApiKey("换成你的API-KEY");
GenerationResult result = gen.call(param);
return JsonUtils.toJson(result);
}
@RequestMapping("/api")
public String gen(String city){
try {
return callWithMessage(city);
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
return e.getMessage();
}
}
}
```
新建前端应用页面app.html,调用SpringBoot后端接口,来实现用户AI应用交互界面。
```html
```
### 七、启动项目,测试应用
我们启动SpringBoot项目,浏览器地址栏输入:`http://localhost:8080/app.html`,我们先后输入北京和杭州,AI应用很快就会给我们推荐当前城市的10道美食,真实太棒了!
