Skip to content

提示词#

概念#

提示词是赋予大语言模型(LLMs)表达能力的基础输入。LlamaIndex 利用提示词构建索引、执行数据插入、在查询时进行遍历,并最终合成答案。

在构建智能体工作流时,提示词的创建与管理是开发过程中的关键环节。LlamaIndex 提供了一套灵活强大的提示词管理机制,支持多种使用方式:

  • RichPromptTemplate - 最新风格的模板系统,支持带变量和逻辑的 jinja 风格提示词
  • PromptTemplate - 旧式简单模板,通过单个 f-string 构建提示词
  • ChatPromptTemplate - 旧式简单模板,通过消息和 f-strings 构建聊天提示词

LlamaIndex 内置了一套默认提示词模板,开箱即用。

此外,还专门为 gpt-3.5-turbo 等聊天模型编写了特定提示词,详见此处

用户也可提供自定义提示词模板来进一步定制框架行为。推荐的最佳实践是复制上述链接中的默认提示词,并以此为基础进行修改。

使用模式#

使用提示词非常简单。以下示例展示如何使用 RichPromptTemplate 构建 jinja 风格的提示词模板:

from llama_index.core.prompts import RichPromptTemplate

template_str = """我们提供了以下上下文信息。
---------------------
{{ context_str }}
---------------------
请根据这些信息回答问题:{{ query_str }}
"""
qa_template = RichPromptTemplate(template_str)

# 可创建文本提示(用于补全API)
prompt = qa_template.format(context_str=..., query_str=...)

# 或轻松转换为消息提示(用于聊天API)
messages = qa_template.format_messages(context_str=..., query_str=...)

查看我们的使用模式指南了解如何充分利用 RichPromptTemplate 以及其他模板的详细信息。

示例指南#

提示词工程指南

简单定制示例

实验性功能