rag.prompt_builder

提示构建器模块 - 实现基于Haystack的提示模板构建器

Classes

ChatPromptBuilder(*args, **kwargs)

基于Haystack的聊天提示构建器

PromptBuilderFactory()

提示构建器工厂类,创建不同类型的提示构建器

class rag.prompt_builder.ChatPromptBuilder(*args, **kwargs)[source]

Bases: object

基于Haystack的聊天提示构建器

__init__(system_prompt=None, document_separator='\n---\n', include_citation=True, max_context_length=4000, template_type='academic')[source]

初始化聊天提示构建器

Parameters:
  • system_prompt (str, optional) – 系统提示

  • document_separator (str) – 文档分隔符

  • include_citation (bool) – 是否包含引用信息

  • max_context_length (int) – 最大上下文长度

  • template_type (str) – 模板类型,可选值:”academic”、”general”、”concise”

run(query, documents, chat_history=None)[source]

构建提示

Parameters:
  • query (str) – 用户查询

  • documents (List[Document]) – 检索到的文档列表

  • chat_history (List[Dict], optional) – 聊天历史记录

Returns:

包含消息列表的字典

Return type:

Dict[str, List[ChatMessage]]

set_system_prompt(system_prompt)[source]

设置系统提示

Parameters:

system_prompt (str) – 新的系统提示

set_template_type(template_type)[source]

设置模板类型

Parameters:

template_type (str) – 新的模板类型

class rag.prompt_builder.PromptBuilderFactory[source]

Bases: object

提示构建器工厂类,创建不同类型的提示构建器

static create_builder(template_type='academic', system_prompt=None, include_citation=True, max_context_length=4000, config=None)[source]

创建提示构建器

Parameters:
  • template_type (str) – 模板类型

  • system_prompt (str, optional) – 系统提示

  • include_citation (bool) – 是否包含引用

  • max_context_length (int) – 最大上下文长度

  • config (dict, optional) – 配置参数

Returns:

提示构建器实例

Return type:

ChatPromptBuilder