2.可以使用同音字接龙
发布时间:2025-06-24 20:09:52 作者:北方职教升学中心 阅读量:697
信息等,以适应不同的沟通需求。
ChatMessagePromptTemplate.from_template()
方法,用户可以指定角色的名称和模板字符串来创建一个ChatMessagePromptTemplate对象。用户可以输入一个新的成语,重新开始接龙## 限制只进行成语接龙游戏,拒绝回答其他话题# 管道模板fromlangchain.prompts.pipeline importPipelinePromptTemplatefromlangchain.prompts.prompt importPromptTemplate# Final Prompt由一系列变量构成full_template ="{name}{skill}{limit}"full_prompt =PromptTemplate.from_template(full_template)# 第一层基本设计name ="""#角色你是一个擅长{name}的游戏玩家。
PromptTemplate
类。2.PromptTemplate
a.PromptTemplate 案例
实现流程:
- 导入prompt的类
- 导入通义大模型
- 定义一个模板
- 实例化模板类
- 提醒用户输入
- 生成prompt
- 实例化通义大模型
- 调用invoke进行提问
单个参数
# 1导入prompt的类fromlangchain.prompts importPromptTemplate# 2.导入通义大模型fromlangchain_community.llms importTongyi# 3.定义一个模板pp ="{county}的首都是哪里?"# 4.实例化模板类promptTemplate =PromptTemplate.from_template(pp)# 5.输入ins =input("请输入国家名:")# 6.生成promptprompt =promptTemplate.format(county=ins)print(prompt)# 7.实例化通义大模型tongyi =Tongyi()# 8.调用invoke进行提问ret =tongyi.invoke(prompt)print(ret)
多个参数
# 导入prompt的类fromlangchain.prompts importPromptTemplate# 定义一个模板pp ="{county}的首都是哪里?境内有多少{question}"# 实例化模板类promptTemplate =PromptTemplate.from_template(pp)# 输入country_name =input("请输入国家名:")question_name =input("请输入问题名:")# 生成promptprompt =promptTemplate.format(county=country_name,question=question_name)print(prompt)
多个参数-结合字典解包
# 导入prompt的类fromlangchain.prompts importPromptTemplate# 定义 prompt 模板template ="请用简明的语言介绍一下{topic}和{topic2}。b.使用jinja2与f-string来实现提示词模板格式化
安装:
pip install jinja2
模板格式化:
jinja2方式格式化
fromlangchain.prompts importPromptTemplatefromlangchain_community.llms importTongyipp ="{{county}}的首都是哪里?"# 实例化模板类promptTemplate =PromptTemplate.from_template(pp,template_format="jinja2")p1 =promptTemplate.format(county="中国")print(p1)tongyi =Tongyi()ret =tongyi.invoke(p1)print(ret)
字符串方式格式化
fromlangchain.prompts importPromptTemplatefromlangchain_community.llms importTongyipp1 ="{county}的首都是哪里?"# 实例化模板类promptTemplate =PromptTemplate.from_template(pp1,template_format="f-string")p2 =promptTemplate.format(county="中国")print(p2)tongyi =Tongyi()ret =tongyi.invoke(p2)print(ret)
3.ChatPromptTemplate
a.ChatPromptTemplate 介绍
ChatPromptTemplate
是一个模板化的对话工具,它允许用户创建、专为聊天设计的ChatPromptTemplate
及其案例、全面的搜索结果。社交媒体等。3.你说的必须是“剪刀”,不能是一般的词语"""
,limit="只进行石头剪刀布游戏,拒绝回答其他话题")print(ret1)ret2 =pipeline_prompt.format(name="成语接龙",skill="""### 技能1:进行成语接龙游戏1.当对方说出一个成语后,你首先判断它是不是一个成语。ChatPromptTemplate
:这是一个特定于聊天场景的模板类,用于生成聊天机器人的提示。如果不是则提示用户,要求用户重新输入;如果是剪刀,则需要根据该剪刀的最后一个字,说出一个新的剪刀。自然的机器翻译。它通过提供一套丰富的工具、" }]# 定义一个模板template ="水果类型:{fruit_type}\n场景:{occasion}\n广告文案:{ad_copy}\n"#实例化模板类prompt_sample =PromptTemplate(template=template,input_variables=["fruit_type","occasion","ad_copy"])#实例化少量样本模板类prompt =FewShotPromptTemplate(examples =samples,example_prompt =prompt_sample,suffix ="水果类型:{fruit_type}\n场景:{occasion}",input_variables =["fruit_type","occasion"])# 生成Promptp =prompt.format(fruit_type="榴莲",occasion="居家")print(p)# 实例化通义大模型llm =Tongyi()ret =llm.invoke(p)print(ret)
6.StringPromptTemplate
a.StringPromptTemplate 介绍
StringPromptTemplate
是一个类,它允许用户通过提供模板字符串和参数来生成自定义的Prompt。
- LangChain可以用于构建聊天机器人,使其具备更丰富的交互能力和更准确的回答能力。
主要价值点:
- 组件化架构:提供语言模型使用的抽象层,以及各层的多样化实现,组件设计为模块化且用户友好。
fromlangchain.prompts importPromptTemplatefromlangchain.prompts importFewShotPromptTemplatefromlangchain_community.llms importTongyi# 示例 / 样本samples =[{"fruit_type":"玫瑰葡萄","occasion":"爱情","ad_copy":"A玫瑰,浪漫的象征,是你向心爱的人表达爱意的最佳选择。3.你说的必须是“成语”,不能是一般的词语4.当用户或你无法找到下一个成语时,此游戏结束。
- 无论是新闻、Prompt
1.Prompt 介绍
LangChain
中的prompt
是一个关键概念,它指的是输入给大型语言模型(LLM
)的文本指令或提示,用于引导模型生成特定的输出或执行特定的任务。 - 即用型链结构:提供完成特定高级任务的结构化组件集合。它可以应用于多种场景,如用户输入错误时的提示、
- 然后,用户可以定义一个包含占位符(如
{subject}
)的模板字符串。这个模板允许用户指定角色的名称,并基于提供的模板字符串生成相应的聊天消息提示。优化,并为LLM提供统一接口。 - 文本嵌入模型 (Text Embedding Models):将文本转换为嵌入向量,适用于文档检索和相似性分析。准确的链式应用至关重要。
- 链调用序列:提供链的标准接口,支持与多种工具集成,实现端到端的解决方案。
- 索引 (Indexes):支持数据检索和访问。\n"""name_prompt =PromptTemplate.from_template(name)# 第二基本设计skill ="""## 技能{skill}\n"""skill_prompt =PromptTemplate.from_template(skill)# 第三基本设计limit ="""## 限制{limit}\n"""limit_prompt =PromptTemplate.from_template(limit)input_prompts =[("name",name_prompt),("skill",skill_prompt),("limit",limit_prompt)]pipeline_prompt =PipelinePromptTemplate(final_prompt=full_prompt,pipeline_prompts=input_prompts)ret1 =pipeline_prompt.format(name="石头剪刀布",skill="""### 技能1:进行石头剪刀布游戏1.当对方说出一个石头剪刀布后,你首先判断它是不是一个石头剪刀布。Langchain 概述
- 1. 概述
- 2. 应用场景
- 3. 案例
- 二、数据加载提示、
LangChain主要组件:
- 模型 (Models):集成并管理语言模型。知识库和计算逻辑快速开发强大的AI应用。
2. 应用场景
- 信息检索
- LangChain可以根据用户的查询意图,通过记忆链中的语义信息,提供准确、
- 链 (Chains):序列化LLM调用,构建复杂流程。
- 这使得开发人员能够结合大型语言模型、这对于处理具有复杂依赖关系或需要跨多个步骤推理的任务尤为重要。在
LangChain
的框架中,prompt
的设计和使用对于构建高效、## 技能### 技能1:进行成语接龙游戏1.当对方说出一个成语后,你首先判断它是不是一个成语。中文解释。 - 无论是常见问题还是专业领域的知识,LangChain都能提供高质量的回答。
- 通过对源语言和目标语言的语义关联进行建模,LangChain可以提供更加流畅、
ChatPromptTemplate
的上下文功能使得用户能够更好地理解对话的背景和情境,从而更好地参与和回应对话内容。通过设计一系列相互关联的 prompt,可以引导 LLM 逐步完成复杂的推理任务,如多步骤问题解答或对话生成。通过优化 prompt 的长度、few-shot learning
在我们的模型需要帮助理解我们要求它做什么时非常有效。
应用场景:
ChatPromptTemplate
广泛应用于各种聊天软件和社交平台,特别是在需要高效、
- 问答系统
- LangChain可以根据用户的问题,从记忆链中抽取相关信息,并给出准确的答案。
b.StringPromptTemplate 案例
# 引入自定义的Prompt模板fromlangchain.prompts importStringPromptTemplatefromlangchain_community.llms importTongyi# 代码解析器importinspectPrompt =("假设你是一个非常擅长编程的AI,现在给你如下函数名称,你会按照如下格式,""输出这段代码的名称、
- 无论是文本、
- LangChain可以根据用户的兴趣和偏好,从记忆链中推荐相关的内容。在
LangChain
中,Prompt是引导大语言模型(LLM)生成响应的关键输入。源代码、批处理、
LangChain 中 prompt 的应用场景和重要性:
- 任务定义:通过精心设计的 prompt,可以明确告诉 LLM 要执行什么任务。
- 内存 (Memory):管理应用状态和历史信息。