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

建设银行个人网站官网汽车网站建设目的

建设银行个人网站官网,汽车网站建设目的,免费博客主题wordpress,企业网站空间选择简介 langchain中有个比较有意思的prompt template叫做FewShotPromptTemplate。 他是这句话的简写#xff1a;“Prompt template that contains few shot examples.” 什么意思呢#xff1f;就是说在Prompt template带了几个比较简单的例子。然后把这些例子发送给LLM…简介 langchain中有个比较有意思的prompt template叫做FewShotPromptTemplate。 他是这句话的简写“Prompt template that contains few shot examples.” 什么意思呢就是说在Prompt template带了几个比较简单的例子。然后把这些例子发送给LLM作为简单的上下文环境从而为LLM提供额外的一些关键信息。 这种few shot examples非常有用如果你希望LLM可以基于你提供的prompt中的内容进行回答的时候就需要用到这个东西了。 你可以把Few-shot prompt templates看做是简单的知识库后面我们会具体讲解如何搭建自己的知识库。 现在先提前了解一下它的魅力吧。 带few shot examples的例子 加入现在我要问chatgpt这样一个问题 请问工具人的代表作是什么因为这里的工具人是我虚拟出来的一个人真实并不存在所以chatgpt的回答可能是下面这样的 工具人的代表作是迈克尔·佩拉的《开膛手杰克》。因为chatgpt对不会的东西可能会乱回答所以上面的答案是在合理范围之内的。 那么怎么才能让chatgpt按照我们虚构的内容进行回答呢 答案就是在prompt中提供有用的信息比如下面这样子 问题: 请帮忙描述下古龙? 回答: 姓名:古龙出生日期:1937年,代表作:《楚留香传奇系列》、《陆小凤系列》、《萧十一郎系列》问题: 请帮忙描述下金庸? 回答: 姓名:金庸出生日期:1924年,代表作:《射雕英雄传》、《神雕侠侣》、《天龙八部》问题: 请帮忙描述下工具人? 回答: 姓名:工具人出生日期:1988年,代表作:《工具人传奇》、《工具人上班》、《工具人睡觉》问题: 请问工具人的代表作是什么下面是chatgpt的回答 工具人的代表作是《工具人传奇》、《工具人上班》和《工具人睡觉》。所以大家想到了什么 没错就是可以使用prompt中的信息做知识库让chatgpt从这个给定的知识库中查询出有用的东西然后再用自己的语言组织起来返回给用户。 在langchain中使用FewShotPromptTemplate 实际上上面的问题和答案都是promot内容的一部分所以可以保存在PromptTemplate中。 而langchain有与之对应的专门的一个类叫做FewShotPromptTemplate。 上面的问答其实可以保存在一个json数组中然后再在FewShotPromptTemplate中使用 from langchain.prompts.few_shot import FewShotPromptTemplate from langchain.prompts.prompt import PromptTemplateexamples [{question: 请帮忙描述下古龙?,answer: 姓名:古龙出生日期:1937年,代表作:《楚留香传奇系列》、《陆小凤系列》、《萧十一郎系列》 },{question: 请帮忙描述下金庸?,answer: 姓名:金庸出生日期:1924年,代表作:《射雕英雄传》、《神雕侠侣》、《天龙八部》 },{question: 请帮忙描述下工具人?,answer:姓名:工具人出生日期:1988年,代表作:《工具人传奇》、《工具人上班》、《工具人睡觉》 } ]首先我们来看一下FewShotPromptTemplate中都有哪些属性 examples: Optional[List[dict]] NoneExamples to format into the prompt.Either this or example_selector should be provided.example_selector: Optional[BaseExampleSelector] NoneExampleSelector to choose the examples to format into the prompt.Either this or examples should be provided.example_prompt: PromptTemplatePromptTemplate used to format an individual example.suffix: strA prompt template string to put after the examples.input_variables: List[str]A list of the names of the variables the prompt template expects.example_separator: str \n\nString separator used to join the prefix, the examples, and suffix.prefix: str A prompt template string to put before the examples.template_format: str f-stringThe format of the prompt template. Options are: f-string, jinja2.validate_template: bool TrueWhether or not to try validating the template.其中examples和example_selector是可选的其他的都是必须的。 example_prompt是用来格式化一个特定example的PromptTemplate。 如下所示 example_prompt PromptTemplate(input_variables[question, answer], template问题: {question}\n 回答{answer})print(example_prompt.format(**examples[0]))问题: 请帮忙描述下古龙? 回答: 姓名:古龙出生日期:1937年,代表作:《楚留香传奇系列》、《陆小凤系列》、《萧十一郎系列》上面代码中我们使用PromptTemplate对队列中的数据进行了格式化。 有了examples和example_prompt,我们就可以构建FewShotPromptTemplate了 prompt FewShotPromptTemplate(examplesexamples, example_promptexample_prompt, suffix问题: {input}, input_variables[input] )print(prompt.format(input请问工具人的代表作是什么))这里输出的内容和我们最开始的内容是一样的。 使用ExampleSelector 在上面的例子中我们实际上是把所有的shot examples都提交给了大语言模型但实际上并不是必须的。因为有些examples跟问题是没有关联关系的。 所以langchain给我们提供了一个类叫做ExampleSelector可以通过这个selector来选择跟我们问题相关的一些examples从而减少不必要的内容传输。 这里我们使用SemanticSimilarityExampleSelector它的作用是根据语义的相似度来选择examples from langchain.prompts.example_selector import SemanticSimilarityExampleSelector from langchain.vectorstores import Chroma from langchain.embeddings import OpenAIEmbeddingsexample_selector SemanticSimilarityExampleSelector.from_examples(# 要选择的examplesexamples,# embedding用来判断文本的相似度OpenAIEmbeddings(),# 向量数据库用来存储embeddingsChroma,# 最终要选择的长度k1 )# 选择最为相似的作为输入 question 请问工具人的代表作是什么 selected_examples example_selector.select_examples({question: question}) print(f下面是和这个问题最相似的examples: {question}) for example in selected_examples:print(\n)for k, v in example.items():print(f{k}: {v})最后我们同样的把ExampleSelector和FewShotPromptTemplate结合起来一起使用 prompt FewShotPromptTemplate(example_selectorexample_selector, example_promptexample_prompt, suffix问题: {input}, input_variables[input] )print(prompt.format(input请问工具人的代表作是什么))总结 如果你有一些简单的内容需要提供给大语言模型那么可以使用这个方式。但是如果你有很多内容的话比如知识库。这种实现就处理不了了。那么如何构建一个知识库应用呢我们后续分享。
http://www.sadfv.cn/news/309255/

相关文章:

  • 想自己在家做外贸网站建设食品网站
  • 中国营销网站国内logo设计网站
  • wordpress 添加文章seo诊断
  • 网站建设营销型网站做网站用什么面板好
  • 什么的网站策划利用网络媒体营销来做电商网站论文
  • 在线网站推荐几个最近中文字幕2019视频1
  • 珠海网站设计网络优化中国建设银行网站地址
  • 高端品销售网站电商数据统计网站
  • 龙凤网站建设云聚达住房和城乡建设部网站投诉电话
  • 怎么通过局域网建设网站小说素材网站
  • 淘宝联盟网站模板厦门有做网站建设
  • 企业网站设计公司济南小程序开发制作
  • 制作网站书签怎么做黄页大全有哪些
  • 手机网站创建四川省住房和城乡建设局网站
  • 站长之家seo施工企业安全生产评价标准jgjt77破解版
  • 网站排名优化软件电话站酷网怎么接单赚钱
  • 做网站可以赚钱么网上书城网站开发方案
  • 赤峰做网站建设的企业用vps建网站备案
  • 有域名怎样建设网站杭州专业做网站的公司哪家好
  • 高端网站建设公司兴田德润在那里一般人公司注册费用
  • 昆明网站推广wordpress网站速度检测
  • 专业网站建设兴田德润wordpress调用热评文章
  • 跨境电商网站建设现货交易平台排行榜
  • 网站设计活动主题东莞快速做网站
  • wap网站生成微信小程序做公司网站有用吗
  • 下载建设app广州网站建设实力乐云seo
  • wordpress调用 别的网站建设局官网查询系统
  • 网站后台管理需求电商的运营模式有几种
  • 个人做网站的时代已经过去门户网站建设不断
  • 青海住房和城乡建设部网站婚纱网站设计首页