Json格式few-show prompt template报错问题

想要对json格式的输出添加一些example,类似这样。

python 复制代码
CHAT_SELF_RAG_USER_TEMPLATE = """
请基于上下文检索片段以及联网搜索结果来回答用户问题。
天气、新闻等与时效相关的信息优先使用联网结果,知识类、种草类优先使用检索文本。
使用帖子信息时:
把参考的帖子ID和回复文本一起按照要求的json格式输出。确保输出是json格式。
回答问题时,尽量尊重参考内容,引用参考内容观点,例如:ta们说:xxx,回复文本不要出现帖子id。
例如:
{
   "content":"ta们说:木屋烧烤的烤串很赞,服务也很不错,价格也便宜,推荐给大家。",
   "referencePostIds":["123456789"]
}

使用联网搜索结果时:
结合联网搜索内容,回答用户疑问。直接回复内容就好,参考帖子ID不用填内容。

如果不知道答案,则作为普通闲聊指令。

参考的帖子内容是:
{context}

参考的联网搜索结果是:
{search_content}

{format_instructions}

用户输入:{question}
"""

但是运行时报错,会提示找不到key "content",原因是PromptTemplate会错误的把json示例中的内容也当做需填充内容。

修复方案

将所有{ }额外多写一个,以绕过这个规则。修改后如下:

python 复制代码
CHAT_SELF_RAG_USER_TEMPLATE = """
请基于上下文检索片段以及联网搜索结果来回答用户问题。
天气、新闻等与时效相关的信息优先使用联网结果,知识类、种草类优先使用检索文本。
使用帖子信息时:
把参考的帖子ID和回复文本一起按照要求的json格式输出。确保输出是json格式。
回答问题时,尽量尊重参考内容,引用参考内容观点,例如:ta们说:xxx,回复文本不要出现帖子id。
例如:
{{
   "content":"ta们说:木屋烧烤的烤串很赞,服务也很不错,价格也便宜,推荐给大家。",
   "referencePostIds":["123456789"]
}}

使用联网搜索结果时:
结合联网搜索内容,回答用户疑问。直接回复内容就好,参考帖子ID不用填内容。

如果不知道答案,则作为普通闲聊指令。

参考的帖子内容是:
{context}

参考的联网搜索结果是:
{search_content}

{format_instructions}

用户输入:{question}
"""
相关推荐
云和数据.ChenGuang2 小时前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节
云和数据.ChenGuang6 小时前
Python 单继承与多继承深度剖析:从 MRO 到实战取舍
开发语言·人工智能·python·langchain
全栈偏科生10 小时前
LangChain JS 入门:快速搭建前端 AI 开发环境
langchain
jerrywus11 小时前
Skill不就是prompt吗?我拿它做了一段南京新街口微缩景观动画
chatgpt·agent·claude
枫叶丹412 小时前
AI 提出科学假设之后:从数据筛选到实验验证
人工智能·chatgpt·开源·agent·codex
郝学胜-神的一滴12 小时前
AI 编程智能体 17:四步搞定专属AI智能体
大数据·人工智能·python·神经网络·算法·langchain·强化学习
咚咚咚小柒12 小时前
【前端】LangChain.js学习
前端·javascript·人工智能·typescript·langchain·vue·ai编程
ShuangNaoPai13 小时前
失效检测与原型匹配:基于双脑派于华的高尔夫案例,重构AI内容生成策略
人工智能·架构·产品运营·prompt
JAI科研14 小时前
把一个 Qwen3.8的聊天模型改造成 JEV 决策模型
人工智能·语言模型·自然语言处理·chatgpt·transformer·vllm·sglang
clz131452114 小时前
RAG 文档切分实战:从语义分层到长度优化
langchain