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}
"""
相关推荐
落樱弥城3 小时前
Prompt Engineering to Context Engineering
prompt
往事如yan5 小时前
ChatGPT下的相关聊天提示词
chatgpt
蔡俊锋5 小时前
【无标题】
人工智能·chatgpt
YUELEI1186 小时前
langchain 缓存 Caching
缓存·langchain
非晓为骁6 小时前
【AI】AI 评测入门(二):Prompt 迭代实战从“能跑通”到“能落地”
人工智能·prompt·提示词工程·ai评测
SEO_juper18 小时前
大型语言模型SEO(LLM SEO)完全手册:驾驭搜索新范式
人工智能·语言模型·自然语言处理·chatgpt·llm·seo·数字营销
leo030821 小时前
7种流行Prompt设计模式详解:适用场景与最佳实践
设计模式·prompt
API流转日记1 天前
Gemini-2.5-Flash-Image-Preview 与 GPT-4o 图像生成能力技术差异解析
人工智能·gpt·ai·chatgpt·ai作画·googlecloud
摘星编程1 天前
ChatGPT 协作排查:Node.js 内存泄漏的定位与修复
chatgpt·性能优化·node.js·ai辅助调试·chatgpt协作
知其然亦知其所以然1 天前
三分钟接入!SpringAI 玩转 Perplexity 聊天模型实战
后端·spring·langchain