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

泰安做网站推广普通话手抄报内容50字

泰安做网站,推广普通话手抄报内容50字,钢结构平台,网站推广计划机构SpringAI提供了Advisors API来实现请求和响应的拦截,修改,增强Spring应用程序和AI模型的互动。 可以使用ChatClient API来配置现有的advisor,例如: var chatClient ChatClient.builder(chatModel) .defaultAdvisors( new Message…

SpringAI提供了Advisors API来实现请求和响应的拦截,修改,增强Spring应用程序和AI模型的互动。

可以使用ChatClient API来配置现有的advisor,例如:

var chatClient = ChatClient.builder(chatModel)

    .defaultAdvisors(

        new MessageChatMemoryAdvisor(chatMemory), // chat-memory advisor

        new QuestionAnswerAdvisor(vectorStore)    // RAG advisor

    )

    .build();

String response = this.chatClient.prompt()

    // Set advisor parameters at runtime

    .advisors(advisor -> advisor.param("chat_memory_conversation_id", "678")

            .param("chat_memory_response_size", 100))

    .user(userText)

    .call()

.content();

Advisor中的核心组件:

包括非流式场景中的CallAroundAdvisor和CallAroundAdvisorChain构成,其中CallAroundAdvisorChain是由一系列CallAroundAdvisor构成的链。非流式场景中的StreamAroundAdvisor和StreamAroundAdvisorChain构成。

还有AdvisorRequest用于表示没有密封的Prompt请求,AdvisorResponse表示聊天完成的响应,还有上下文AdviseContext,这个上下文用于保存

AdvisorRequest和AdvisorResponse在链中的共享状态。

callAroundNext()和streamAroundNext()是关键的方法,在这个方法中对请求和响应进行响应的操作,并且可以决定是否调用下一个advisor进行后续的操作。

getOrder()提供链中advisor的访问顺序,返回值越小的在链中的位置越靠前,还有getName()方法返回advisor的名称。最后一个advisor由SpringAI框架自动添加,并把请求发送到AI模型。

在链条中越靠前的advisor先执行对AdvisorRequest的操作,越后执行对AdvisorResponse的操作。注意:如果有多个advisor的getOrder()的返回值相同,可能无法保证顺序执行,因此要避免多个相同的order值。

SpringAI框架中的Advisor接口关系:

接下来自定义实现一个advisor:

上述实现了一个问题重读的advisor,就是让AI模型把问题读两遍。

SpringAI框架也提供了一些内置的advisor,比如:

1.MessageChatMemoryAdvisor:添加历史对话为消息列表,以.message(…)的形式插入到prompt,维护完整的对话结构,适用于完整对话上下文,高级模型(部分模型不支持该advisor)

2.PromptChatMemoryAdvisor:添加历史对话为系统提示,拼接成一个字符串插入到系统提示中。适用于简单记忆,对所有模型兼容。

3.VectorStoreChatMemoryAdvisor:从vectorStore中检索相关信息添加到系统提示中,通常用于提供背景信息。

4.QuestionAnswerAdvisor:用户提问时,自动从vectorStore中检索最相关的文档,添加到用户提示中,常用于RAG的精准回答。

SafeGardAdvisor:用于防止模型生成有害或不适信息

要更新 context,需要使用 .updateContext(...) 方法,它会创建一个新的不可变 map,并包含更新后的内容,例如:

@Override

public AdvisedResponse aroundCall(AdvisedRequest advisedRequest, CallAroundAdvisorChain chain) {

    this.advisedRequest = advisedRequest.updateContext(context -> {

        context.put("aroundCallBefore" + getName(), "AROUND_CALL_BEFORE " + getName());

        context.put("lastBefore", getName());

        return context;

    });

    // 后续逻辑...

}

http://www.dtcms.com/wzjs/222455.html

相关文章:

  • 深信服对单一网站做限速公司网站模板
  • wordpress 文章摘要字数兰州seo整站优化服务商
  • 关于政府补贴企业做网站的事游戏推广员到底犯不犯法
  • 遵义市建设局网站南京响应式网站建设
  • 目前做啥网站能致富网站优化排名首页
  • 网站企业模板优化推广什么意思
  • 网站建设银行成都sem优化
  • 猪八戒设计网站如何做兼职百度推广代理商与总公司的区别
  • 用vs2008做网站steam交易链接怎么用
  • 手机如何创建简易网站大数据分析培训机构
  • 天元建设集团有限公司滨州分公司网站关键词排名优化工具
  • 开发手机网站教程互联网医疗的营销策略
  • 常熟市建设工程发承包网站网上推广app
  • 宝鸡市住房和城市建设局网站福建网站建设制作
  • 怎么做网站的域名解析对网站和网页的认识
  • 南阳哪有做网站公司百度品牌广告
  • wordpress文章列表调用描述免费seo网站自动推广
  • 长沙微信网站公司seo网站推广多少钱
  • 建设银行业务管理中心网站b站软件推广大全
  • 余姚微信网站建设优化设计五年级上册语文答案
  • 公司建站模版新闻头条今日新闻下载
  • 网站制作器手机版跨国网站浏览器
  • 做网站开封seo 360
  • 如何在自己的服务器上搭建微网站链接交换
  • 9377白蛇传奇苏州优化网站公司
  • 最权威的公文写作网站乐天seo培训中心
  • 百瑞网站建设seo页面优化技术
  • 上海网站建设领导品牌网络宣传的好处
  • 多语言企业网站建设自己怎么做网站推广
  • 便宜网站建设公司中国万网官网登录