今天在做测试用例设计的时候,代码中用到了LangChain中的Prompt模板;
所以把这个功能的使用简单整理下,便于后续的使用。
# 1. 导入PromptTemplate
from langchain.prompts import PromptTemplate
# 2. 定义模板字符串,包含变量{product}
template = "你是一名{product}工程师,请帮我设计{feature}的单元测试用例"
# 3. 创建PromptTemplate实例,指定模板和变量列表
prompt = PromptTemplate(
input_variables=["product", "feature"], # 变量名列表
template=template # 模板字符串
)
# 4. 格式化模板,传入具体值生成提示词
formatted_prompt = prompt.format(product="资深测试", feature="条件覆盖")
print(formatted_prompt)
你是一名资深测试工程师,请帮我设计条件覆盖的单元测试用例
from langchain.prompts import PromptTemplate
template = "你是一名{role}工程师,请帮我设计{feature}用例,重点突出{style}的设计"
# 创建完整PromptTemplate
prompt = PromptTemplate(
input_variables=["role", "feature", "style"],
template=template
)
# 使用partial()方法设置默认值,生成部分填充的模板
partial_prompt = prompt.partial(style="条件覆盖")
# 后续只需传入剩余变量
full_prompt = partial_prompt.format(role="资深测试", feature="单元测试")
print(full_prompt)
你是一名资深测试工程师,请帮我设计单元测试用例,重点突出条件覆盖的设计
# 假设template.txt文件内容为:"分析{test}的主要优势和劣势。"
with open("template.txt", "r") as f:
template = f.read()
prompt = PromptTemplate(
input_variables=["test"],
template=template
)
print(prompt.format(topic="软件测试"))
from langchain.prompts import ChatPromptTemplate
from langchain.schema import HumanMessage, SystemMessage
# 定义系统消息和人类消息模板
system_template = "你是一个{role},擅长{skill}。"
human_template = "请帮我{task}。"
chat_prompt = ChatPromptTemplate.from_messages([
("system", system_template),
("human", human_template)
])
# 格式化生成消息列表
messages = chat_prompt.format_messages(
role="资深软件测试专家",
skill="软件测试架构设计",
task="设计一个高并发场景的用例设计"
)
# 输出的messages可直接传入聊天模型
for msg in messages:
print(f"{msg.type}: {msg.content}")
system: 你是一个资深软件测试专家,擅长软件测试架构设计。
human: 请帮我设计一个高并发场景的用例设计。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。