济南哪里做网站好,湖南株洲网站建设,南京seo外包,wordpress 建站五分钟目录 前言1.准备工作2.初始化项目3.解决问题3.1 Connection Time out 连接超时问题3.2 You exceeded your current quota 额度超限问题 4.访问调用5.总结 前言 在逛SpringBoot页面时突然看到页面上新增了一个SpringAI项目,于是试了一下#xff0c;感觉还行。其实就是封装了各家… 目录 前言1.准备工作2.初始化项目3.解决问题3.1 Connection Time out 连接超时问题3.2 You exceeded your current quota 额度超限问题 4.访问调用5.总结 前言 在逛SpringBoot页面时突然看到页面上新增了一个SpringAI项目,于是试了一下感觉还行。其实就是封装了各家的api调用过程不过这也是一个好的开始。最近我一直在思考什么是AI时代的程序员最后得到的答案是可能一个人就是一个开发团队吧。目前AI的能力在单个需求方面对程序员都是碾压性的程序员现在能做的就是理解整个的业务需求进而合作实现。试想如果未来AI能一个人干一个团队的活那程序员就只需要做业务分析就好了。那时可能谁理解的好谁就是好的程序员。
1.准备工作 首先我们需要的是全面的新环境。因为国内很多项目都还是基于JDK1.8做的很多人还用的是IDEA2019这已经完全跟不上时代的潮流了。因此现在我们需要的是
JDK ≥ 17IDEA ≥ 2022OpenAI的keyFan Qiang 如果你无法使用OpenAI的环境那么你还可以看看其他的环境目前SpringAI支持的环境有很多了具体可以查看https://spring.io/projects/spring-ai
2.初始化项目
新建项目 勾选Web和AI 等待Maven完成安装 如果阿里云的仓库下载失败就不要死磕了换成默认的 repositoryidspring-milestones/idnameSpring Milestones/nameurlhttps://repo.spring.io/milestone/urlsnapshotsenabledfalse/enabled/snapshots/repository注意观察pom中的引用 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId
/dependency
dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-openai-spring-boot-starter/artifactId
/dependency
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope
/dependency新建一个ChatController,代码及其简单
RestController
public class ChatController {private final OpenAiChatClient chatClient;Autowiredpublic ChatController(OpenAiChatClient chatClient) {this.chatClient chatClient;}GetMapping(/ai/generate)public Map generate(RequestParam(value message, defaultValue Tell me a joke) String message) {System.setProperty(http.proxyHost, 127.0.0.1);System.setProperty(http.proxyPort, 10809);System.setProperty(https.proxyHost, 127.0.0.1);System.setProperty(https.proxyPort, 10809);System.setProperty(proxySet, true);return Map.of(generation, chatClient.call(message));}GetMapping(/ai/generateStream)public FluxChatResponse generateStream(RequestParam(value message, defaultValue Tell me a joke) String message) {Prompt prompt new Prompt(new UserMessage(message));return chatClient.stream(prompt);}
}在application.properties中配置OpenAi的key
spring.ai.openai.api-keyYOUR_API_KEY
spring.ai.openai.chat.options.modelgpt-3.5-turbo
spring.ai.openai.chat.options.temperature0.7目前可以选择的模型有
3.解决问题
3.1 Connection Time out 连接超时问题 这是因为java代码里并没有设置开启代理导致的。有些梯子默认就是全局所以在代码里并不用设置但是有的梯子不是需要设置,其实上面的代码里写过了还有一些人通过socks5设置代理自己选择合适的方式吧。
System.setProperty(http.proxyHost, 127.0.0.1);
System.setProperty(http.proxyPort, 10809);
System.setProperty(https.proxyHost, 127.0.0.1);
System.setProperty(https.proxyPort, 10809);
System.setProperty(proxySet, true);如果你不知道你的梯子使用的ip和端口是多少那么你可以按照这个顺序查看一下 win10和win11的ip和端口查找方法右键开始菜单-设置-网络和Internet-代理-手动设置代理 关于这个问题我也让ChatGPT回答了一下
3.2 You exceeded your current quota 额度超限问题 429问题在OpenAI的官网有解释 简单来说就是你需要升级为付费账户或者你的账户额度不够用了再加钱就是了。
4.访问调用 还记得我们问的什么问题吗对tell me a joke 再访问一次看会不会变化 nice变了说明有效。
5.总结 新技术的出现总会让人有种焦虑感有些人是抵制有些人拥抱有些人是无感有些人是冷漠。但是我想这可能就是当初电和汽车的出现一样会毁掉很多人的饭碗但是同时也会产生很多新的饭碗。因此不要怕AI就是一个工具程序员应该比很多人更加有机会首先了解并使用AI。只要你能坚持不断学习相信未来的你一定不会被机器取代因为机器没得感情。