rag.haystack_pipeline

Haystack Pipeline模块 - 实现基于Haystack的RAG管道

Classes

RAGPipeline(llm_connector[, document_store, ...])

基于Haystack的RAG管道

RAGPipelineFactory()

RAG管道工厂类,创建基于Haystack的RAG管道

class rag.haystack_pipeline.RAGPipeline(llm_connector, document_store=None, retriever_top_k=5, prompt_builder=None, embedding_model='sentence-transformers/all-MiniLM-L6-v2')[source]

Bases: object

基于Haystack的RAG管道

__init__(llm_connector, document_store=None, retriever_top_k=5, prompt_builder=None, embedding_model='sentence-transformers/all-MiniLM-L6-v2')[source]

初始化RAG管道

Parameters:
  • llm_connector (BaseLLMConnector) – LLM连接器

  • document_store (InMemoryDocumentStore, optional) – 当前Haystack检索器使用内存文档存储,如果为None则创建InMemoryDocumentStore

  • retriever_top_k (int) – 检索器返回的最大文档数量

  • prompt_builder (ChatPromptBuilder, optional) – 提示构建器,如果为None则创建默认构建器

  • embedding_model (str) – 嵌入模型名称

run(query, chat_history=None, filters=None, generation_kwargs=None, top_k=None)[source]

运行RAG管道

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

  • chat_history (list, optional) – 聊天历史记录,格式为[{“role”: “user”, “content”: “消息内容”}]

  • filters (dict, optional) – 检索过滤条件

  • generation_kwargs (dict, optional) – 生成参数

  • top_k (int, optional) – 单次检索数量,省略时保留配置默认值

Returns:

包含回答和检索文档的结果

Return type:

dict

update_retriever(document_store=None, top_k=None)[source]

更新检索器

Parameters:
  • document_store (DocumentStore, optional) – 新的文档存储

  • top_k (int, optional) – 新的最大检索文档数量

update_llm_connector(llm_connector)[source]

更新LLM连接器

Parameters:

llm_connector (BaseLLMConnector) – 新的LLM连接器

class rag.haystack_pipeline.RAGPipelineFactory[source]

Bases: object

RAG管道工厂类,创建基于Haystack的RAG管道

static create_pipeline(llm_connector, document_store=None, retriever_top_k=5, prompt_builder=None, config=None)[source]

创建RAG管道

Parameters:
  • llm_connector (BaseLLMConnector) – LLM连接器

  • document_store (InMemoryDocumentStore, optional) – 当前Haystack检索器使用内存文档存储

  • retriever_top_k (int) – 检索器返回的最大文档数量

  • prompt_builder (ChatPromptBuilder, optional) – 提示构建器

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

Returns:

RAG管道实例

Return type:

RAGPipeline