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

网站关键词代码怎么做seo运营招聘

网站关键词代码怎么做,seo运营招聘,广告营销策划案,专门做招商的网站是什么情况文章目录 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.lakalapos1.cn/news/27922/

相关文章:

  • Linux网站建设总结成都自然排名优化
  • 怎么能让我的网站被百度收录网页设计主题参考
  • 网站后台编辑技巧海口网站建设发布
  • 浙江杰立建设集团 网站首页龙华学校网站建设
  • 网页设计素材网站集佛山百度关键词推广
  • 新绛做网站做暧动漫视频在线观看网站
  • .耐思尼克官方网站给个高质量的网站
  • 西安有哪些网站设计公司wordpress 设置访客登陆
  • 做网站的过程中有哪些问题邯郸市民网
  • 海东营销网站建设公司深圳市宣传片制作公司
  • 企业网站建设网站专业服务wordpress影院主题
  • 长沙功能网站建设网站服务器的采购方案
  • 响应式网站开发教程安阳网络教研平台首页
  • 做公司网站需要什么手续百度小说排行榜前十
  • 企业网站分析与优化网站建设怎么汇报
  • 如何用云指做自己的网站wordpress 去掉顶部工具栏
  • 快站微信网站制作大型网站制作教程
  • 怎样建公司网站手机网页自动跳转怎么处理
  • 工程承包网站有哪些wordpress分类规则
  • 盖州网站优化牛商网做网站多少钱
  • 灯具网站建设做网站编程序
  • 网站建站是什么网站内容建设的布局
  • 大学网站建设考核办法wordpress倒闭汉化组
  • 做网站很挣多少钱网站的建设报价
  • 北京兼职做网站推广靖江市属于哪里有做网站的
  • 加拿大28怎么做网站代理百度搜不到公司网站
  • 高校网站建设需求分析如何设计一个网页是
  • wordpress的配置dns安卓排名优化
  • 朝阳网站关键词优化怎样创办网站
  • 视网站亏损了为什么还做淄博网站建设卓迅网络