当前位置: 首页 > news >正文

网站关键词代码怎么做天津外贸营销型网站建设

网站关键词代码怎么做,天津外贸营销型网站建设,wordpress支持哪些数据库,成都住建局官网下载文章目录 JAVA实现人工智能,采用框架SpringAISpring AI介绍使用介绍项目前提项目结构第一种方式采用openai1. pom文件#xff1a; 2. application.yml 配置3.controller 实现层 项目测试 JAVA实现人工智能,采用框架SpringAI Spring AI介绍 Spring AI是AI工程师的一个应用框架… 文章目录 JAVA实现人工智能,采用框架SpringAISpring AI介绍使用介绍项目前提项目结构第一种方式采用openai1. pom文件 2. application.yml 配置3.controller 实现层 项目测试 JAVA实现人工智能,采用框架SpringAI Spring AI介绍 Spring AI是AI工程师的一个应用框架它提供了一个友好的API和开发AI应用的抽象旨在简化AI应用的开发工序例如开发一款基于ChatGPT的对话应用程序。 目前该项目已经集成了OpenAI、Azure OpenAI、Hugging Face、Ollama等API。不过对于集成了OpenAI接口的项目只要再搭配One-API项目就可以调用目前主流的大语言模型了。 使用介绍 在介绍如何使用Spring AI开发一个对话接口之前我先介绍下ChatGPT应用的开发原理。 首先ChatGPT是OpenAI推出的一款生成式人工智能大语言模型OpenAI为了ChatGPT能够得到广泛应用向开发者提供了ChatGPT的使用接口开发者只需使用OpenAI为开发者提供的Key向OpenAI提供的接口地址发起各种形式的请求就可以使用ChatGPT。因此开发一款ChatGPT应用并不是让你使用人工智能那套技术进行训练和开发而是作为搬运工通过向OpenAI提供的ChatGPT接口发起请求来获取ChatGPT响应基于这一流程来开发的。 项目前提 本人已经本地部署chatglm3-6boneapi 项目环境 项目结构 ​ 第一种方式采用openai 1. pom文件 SpringAI 官网 新版本由于我本地chatglm3-6b openai 接口实现暂不支持请求体解析所以使用0.8.1-SNAPSHOT 版本进行集成 dependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-bom/artifactIdversion1.0.0-SNAPSHOT/versiontypepom/typescopeimport/scope /dependencyproject xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.2.4/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.lvyuanj.core/groupIdartifactIdmicro-open-ai/artifactIdversion1.0-SNAPSHOT/versionpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependencyManagementdependenciesdependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-bom/artifactIdversion0.8.1-SNAPSHOT/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-openai/artifactId/dependencydependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-openai-spring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.ai/groupIdartifactIdspring-ai-ollama-spring-boot-starter/artifactId/dependency/dependenciesrepositoriesrepositoryidspring-milestones/idnameSpring Milestones/nameurlhttps://repo.spring.io/milestone/urlsnapshotsenabledfalse/enabled/snapshots/repositoryrepositoryidspring-snapshots/idnameSpring Snapshots/nameurlhttps://repo.spring.io/snapshot/urlreleasesenabledfalse/enabled/releases/repository/repositoriesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build /project2. application.yml 配置 spring:ai:openai:api-key: XXXXXXXXXXXXXXXXXXXXXXbase-url: XXXXXXXXXXXXXXXXXXXXXXXchat:enabled: trueoptions:model: chatglm3-6btemperature: 0.3F # 温度越高回答得比较有创新性但是准确率会下降温度越低回答的准确率会更好#ollama模型ollama:api-key: XXXXXXXXXXXXXXXXXXXXbase-url: XXXXXXXXXXXXXXXXXXXXXXXXXchat:enabled: falseoptions:model: chatglm3-6b 3.controller 实现层 package com.lvyuanj.core.ai.controller;import jakarta.annotation.Resource; import org.springframework.ai.chat.ChatResponse; import org.springframework.ai.chat.prompt.Prompt; import org.springframework.ai.openai.OpenAiChatClient; import org.springframework.ai.openai.OpenAiChatOptions; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Flux;RestController RequestMapping(open-ai) class OpenAiController {Resourceprivate OpenAiChatClient openAiChatClient;/*** 调用OpenAI的接口-默认参数* param msg* return*/GetMapping(/chat)public String completion(RequestParam(msg) String msg) {return openAiChatClient.call(msg);}/*** 调用OpenAI的接口-默认参数* param msg-输入的文本* return*/RequestMapping(value /chat2)public Object chat2(RequestParam(value msg) String msg) {ChatResponse chatResponse openAiChatClient.call(new Prompt(msg));return chatResponse.getResult().getOutput().getContent();}/*** 调用OpenAI的接口-自定义参数* param msg-输入的文本* return*/RequestMapping(value /chat3)public Object chat3(RequestParam(value msg) String msg) {//可选参数在配置文件中配置了在代码中也配置了那么以代码的配置为准也就是代码的配置会覆盖掉配置文件中的配置ChatResponse chatResponse openAiChatClient.call(new Prompt(msg, OpenAiChatOptions.builder()//.withModel(gpt-4-32k) //gpt的版本32k是参数量.withTemperature(0.4F) //温度越高回答得比较有创新性但是准确率会下降温度越低回答的准确率会更好.build()));return chatResponse.getResult().getOutput().getContent();}/*** 调用OpenAI的接口-流式接口* param msg-输入的文本* return*/RequestMapping(value /chat4)public Object chat4(RequestParam(value msg) String msg) {//可选参数在配置文件中配置了在代码中也配置了那么以代码的配置为准也就是代码的配置会覆盖掉配置文件中的配置FluxChatResponse flux openAiChatClient.stream(new Prompt(msg, OpenAiChatOptions.builder()//.withModel(gpt-4-32k) //gpt的版本32k是参数量.withTemperature(0.4F) //温度越高回答得比较有创新性但是准确率会下降温度越低回答的准确率会更好.build()));flux.toStream().forEach(chatResponse - {System.out.println(chatResponse.getResult().getOutput().getContent());});return flux.collectList(); //数据的序列一序列的数据一个一个的数据返回}/*** 字转向量进行数据查询**/PostMapping(/embedding)public void pgQuery(RequestBody ListString wordList) {EmbeddingRequest embeddingRequest new EmbeddingRequest(wordList, OpenAiEmbeddingOptions.builder().build());EmbeddingResponse response openAiEmbeddingClient.call(embeddingRequest);ListDouble wordVectors response.getResult().getOutput();ListFloat vectors wordVectors.stream().map(o - o.floatValue()).collect(Collectors.toList());Object[] neighborParams new Object[] { new PGvector(vectors) };ListMapString, Object rows jdbcTemplate.queryForList(SELECT * FROM modeldata ORDER BY embedding - ? LIMIT 5, neighborParams);if (Objects.nonNull(rows) rows.size() 0) {for (MapString, Object row : rows) {for (Map.EntryString, Object entry : row.entrySet()) {String key entry.getKey();Object value entry.getValue();System.out.println(key:key ,value: value);}}}}}项目测试 接下来继续接入文字、图片、视频对接实现
http://www.tj-hxxt.cn/news/230287.html

相关文章:

  • 南京网站建设希丁哥网址查询器
  • 广州移动 网站设计网站建设公司怎么赚钱
  • 深圳松岗 网站建设创意空间设计
  • 谁有国外hs网站实训课做一个网站怎么做
  • 淄博桓台网站建设方案仿360电影网站源码
  • 全国分类信息网站阿里云怎么做淘宝客网站
  • 在万网上域名了怎么做网站标准百度网站建设
  • 网站搜索引擎优化公司xuzhou网站制作
  • 国家住房和城乡建设部官方网站长沙网站排名
  • 网站建设的硬件平台wordpress转微信小程序
  • 建设部网站资质人员查询厦门免费自助建站模板
  • 单位建设的网站属于无形资产吗阎良区网站建设
  • php购物网站开发成品页面设计课后反思
  • 小型电子商务网站规划创建网页
  • 网站技术解决方案校园门户网站 建设方案
  • 网站开发流程图和自己做电影网站需要的成本
  • 网站上的广告位图片怎么做呢站内内容投放计划
  • 网站营销有哪些一级门户网站建设费用
  • 网站的竞争对手河南省实名举报
  • 广告网站有哪些重庆市城市建设档案馆官方网站
  • 网站制作如何做西安造价信息网官网
  • 公司网站域名价格市场营销推广方案
  • 重庆所有做网站的公司新闻今天的最新新闻
  • 珠海建设改革有哪些网站高品质网站建设公司
  • 免费手机网站appWordPress手机aop主题
  • 个人网站怎么做内容比较好盘锦市建设局网站地址
  • 仿美团版网站开发制作网站建设的基本步骤
  • 做透水砖的网站深圳广告策划公司排名
  • 网站界面设计策划书怎么做wordpress如何配置前端用户中心
  • 六盘水南宁网站建设昆明网站建设知名企业