赞
踩
新学一招,java后端+阿里云模型服务灵积=GPT
1. 注册阿里云用户
2. 免费开通服务
找到Dashscope灵积控制台开通服务(具体流程就没什么好说的了),当然新版本也可以通过帮助文档的百炼平台完成
3. 创建Api-key
在灵积控制台中创建Api-key,主要用于服务内部用于唯一用户服务标识,和创建阿里用户所用的AccessKey有所区别
4. 导入SDK依赖包
java版使用maven引入(文档提供两种语言java和python)
5. 编写代码
以java为例,我用的是message调用的方法单独作为工具类使用,
·通过MessageManager创建构建系统信息systemMsg和用户信息userMsg,
·构造并初始化QwenParam用于代理远程你所创建的ai模型
·通过Generation类就可以向外发送请求,获得一个GenerationResult的响应(内容比较复杂而我们只需要获得其中choices集合下的数据就可以了),ai响应的回答会按照集合的方式返回,但如果你用的是单轮集合内就一条回答啦,choices.get(0).getMessage().getContent()就可以取出回答的字符串文本。
当然你可以结合我的描述具体看帮助文档的message调用事例会比较明白
-------------------------
以上你内容可以通过帮助文档快速了解:https://help.aliyun.com/document_detail/2712816.html
但是文档主要针对python开发,java实际使用上会遇到很多问题,以此罗列我认为比较常见的错误:
·Api-key not fount
文档中api-key通过export的方式设置为环境变量使用,但是仅适用于linux或macOS,windows下set指令不能完成,并且java也不能直接识别环境变量,这时你就需要在事例代码中加入constants.apikey=“xxx”手动设置你的key
·依赖循环问题
使用官方提供的SDK依赖包是包含 @slfj4 日志的jar包如果你其他地方也使用到它那么就可能会出现依赖循环的问题,你可以在maven中使用<exclusions>标签去除sdk包中的日志就可以了
·超时连接
这个是我在前端做数据展示的时候会显示连接超时的问题,是因为如果ai响应的数据过多会增加响应时间,如果在前端请求时间内没有完成响应就会断开连接,这里我觉得可能用websocket的tcp或udp方式实时传输可能效率会高很多,我这里直接timeout设置请求最大时间延长响应了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。