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

个性化网站成功的案例镇江seo方案

个性化网站成功的案例,镇江seo方案,东莞seo公司,天水市建设局企业注册网站文章目录 前提回顾FewShotPromptTemplateforamt格式化 前提回顾 前面已经实现了一个翻译助手了[prompt第三讲-PromptTemplate],prompt模板设计中,有说明、案例、和实际的问题 # -*- coding: utf-8 -*- """ Time : 2024/7/8 …

文章目录

    • 前提回顾
    • FewShotPromptTemplate
    • foramt格式化

前提回顾

前面已经实现了一个翻译助手了[prompt第三讲-PromptTemplate],prompt模板设计中,有说明、案例、和实际的问题

# -*- coding: utf-8 -*-
"""
@Time : 2024/7/8 9:44
@Auth : leon
"""
from langchain_core.prompts import PromptTemplate
# 4. 定义部分变量
prompt_template = PromptTemplate.from_template("""
你是一个翻译助手,你擅长将{source_language}翻译为{dst_language},请将我发送给你的question的内容翻译为{dst_language},不要返回无关的内容,只需返回最终翻译结果,下面的history examples中提供了一些具体的案例,为你提供一些参考:## history examples:
question:美丽->answer:beautiful;
question:男孩->answer:boy;
question:男人->answer:man;
question:456->answer:four hundred and fifty-six;
question:1->answer:one;
question:34->answer:thirty-four;## user true task:
question:{user_input_words}->answer:
""")
lag2lag = input("你想我成为什么翻译助手(格式如:中文-英文):")
source_language,dst_language = lag2lag.split('-')
new_prompt_template = prompt_template.partial(source_language=source_language,dst_language=dst_language)
print("助手初始化完毕,您的翻译助手上线!!!")
# 2. llm定义
from langchain_community.llms import Tongyi
from pydantic_settings import BaseSettings,SettingsConfigDict"""
2,1 获取千问的key
我这么写的原因是因为方便我上传项目到github的同时,不暴露我的key,所以我把可以key保存到了最外部的一个.env文件中
这样我每一次同步到github的时候就不会把key也推出去,你们测试的时候,可以直接写成
qwen_key="sk-cc2209cec48c4bc966fb4acda169e",这样省事。
"""
class ModelConfig(BaseSettings):model_config = SettingsConfigDict(env_file="../../../.env",env_file_encoding="utf-8")qwen_key:strdeepseek_key:strdeepseek_base_url:strmodel_config = ModelConfig()
qwen_key = model_config.qwen_key
# 1. 读取配置信息,获取模型key
llm = Tongyi(dashscope_api_key=qwen_key)while(True):user_input_word = input(f"请输入需要翻译的{source_language}:")if user_input_word.lower() =="quit":breakelse:prompt = new_prompt_template.invoke({"user_input_words":user_input_word})print(llm.invoke(prompt))

FewShotPromptTemplate

下面我们换一种更加优雅的方式来实现上面的prompt模板

# -*- coding: utf-8 -*-
"""
@Time : 2024/7/9 9:44
@Auth : leon
"""
from langchain_core.prompts import PromptTemplate,FewShotPromptTemplate
example_prompt = PromptTemplate.from_template("question: {question}->answer:{answer}")
examples = [{'question':'美丽',"answer":'beautiful'},{'question':'男孩',"answer":'boy'},{'question':'男人',"answer":'man'},{'question':'456',"answer":'four'},{'question':'456',"answer":'four hundred and fifty-six'},{'question':'1',"answer":'one'},{'question':'34',"answer":'thirty-four'}
]
prefix = """
你是一个翻译助手,你擅长将{source_language}翻译为{dst_language},请将我发送给你的question的内容翻译为{dst_language},不要返回无关的内容,只需返回最终翻译结果,下面的history examples中提供了一些具体的案例,为你提供一些参考:
## history examples:
"""
suffix = """
## user true task:
question:{user_input_words}->answer:
"""
prompt_template = FewShotPromptTemplate(examples=examples,example_prompt=example_prompt,prefix=prefix,suffix=suffix,input_variables=['user_input_words','source_language','dst_language']
)lag2lag = input("你想我成为什么翻译助手(格式如:中文-英文):")
source_language,dst_language = lag2lag.split('-')
new_prompt_template = prompt_template.partial(source_language=source_language,dst_language=dst_language)from langchain_community.llms import Tongyi
from pydantic_settings import BaseSettings,SettingsConfigDict"""
2,1 获取千问的key
我这么写的原因是因为方便我上传项目到github的同时,不暴露我的key,所以我把可以key保存到了最外部的一个.env文件中
这样我每一次同步到github的时候就不会把key也推出去,你们测试的时候,可以直接写成
qwen_key="sk-cc2209cec48c4bc966fb4acda169e",这样省事。
"""
class ModelConfig(BaseSettings):model_config = SettingsConfigDict(env_file="../../../.env",env_file_encoding="utf-8")qwen_key:strdeepseek_key:strdeepseek_base_url:strmodel_config = ModelConfig()
qwen_key = model_config.qwen_key
# 1. 读取配置信息,获取模型key
llm = Tongyi(dashscope_api_key=qwen_key)while(True):user_input_word = input(f"请输入需要翻译的{source_language}:")if user_input_word.lower() =="quit":breakelse:prompt = new_prompt_template.invoke({"user_input_words":user_input_word})print(llm.invoke(prompt))

着重看一下FewShotPromptTemplate定义模板部分,他没有什么方法可以实例化对象,只支持直接实例化,而实例化
要传入的参数也不用咋说,格式一目了然
参数讲解

  1. example_prompt:你想要案例遵守的prompt模板格式
  2. examples一个案例列表,里面是多个字典,字典的key必须和example_prompt中定义的变量是统一的
  3. prefix:你想要在案例前面插入的内容,如果是接着前面的翻译助手,那这里通常就是这个助手的能力说明
  4. suffix:通常就是你想要最后插入的实际的问题的prompt模板
  5. input_variables:变量说明,这个变量来自prefix和suffix

foramt格式化

因为FewShotPromptTemplate也是继承自runnable的,所以他有的方法和变量基本和前面讲的PromptTemplate差不多,
变量可能会有些变化,但是方法基本是统一的,也是遵从(invoke,batch,stream那一套的),而invoke最底层是
调用了format,所以我只需要讲解一下format,其他的都懂了

format的原理如下:

  1. 遍历examples列表,根据example_prompt模板格式,实例化出一个prompt列表,并且以空格的形式进行拼接成一个字符串
  2. 将prefix添加到第一步得到prompt字符串前面,将suffix添加到prompt字符串后面
  3. 将输入的变量填入新的模板中,得到格式化后的prompt

其他支持的方法,和前面的PromptTemplate是一样的invoke,batch,stream等,需要注意的是,它也提供了save功能,但是
没有提供加载功能,这很奇怪。

附上筋斗云,会有完整教程和代码:https://github.com/traveler-leon/langchain-learning.git

http://www.yayakq.cn/news/245498/

相关文章:

  • 出售全国精准客户电话号码兰州官网seo分析
  • 手机网站 跳转电商设计网站模板
  • logo设计网站生成器wordpress 移动端不显示图片
  • 大连免费模板建站手机网站建设的重要性
  • 做网站有要求吗装修网站制作
  • 做类型网站做网站学什么语言
  • 上海专业网站建设机构电子商务网站按其实现的技术可分为
  • 互助县wap网站建设公司整套网页模板
  • 烟台企业网站制作公司wordpress+刷新
  • 从零开始学网站建设知乎一个网站需要多少钱
  • 广州自助建设网站平台郑州seo学校
  • 网站设置价格错误不愿意发货福建祥盛建设有限公司网站
  • 导购网站做基础销量诚信网站费用
  • 上海公司牌照五行seo博客
  • 地方门户网站盈利模式北京网页设计公司兴田德润挺好
  • 深圳中建南方建设集团网站做课件可赚钱的网站
  • 少儿教育网站建设价格嘉定企业网站建设
  • 徐州品牌网站建设宁波好的网站推广软件
  • 如何选择企业网站建设南京江北新区核心区范围
  • 做网站dw怎么用怎么建立网站站点
  • 个人网站如何建设wordpress评分杂志
  • 外贸soho怎么建网站小红书的网站建设
  • 新网站如何做百度收录黑龙江网架公司
  • 揭阳网站建设公司青岛团购网站建设
  • 西安网站代维护wordpress动态标题
  • 音频文件放到网站空间里生成链接怎么做云梦主城区核酸检测
  • 免费发布产品信息的网站wordpress多语种
  • 网站建设源程序网站关键词优化系统
  • 同源大厦 网站建设织梦网站查看原有文章
  • 杭州企业网站建设方案vs设置网站开发环境