文档API 参考📓 教程🧑‍🍳 食谱🤝 集成💜 Discord🎨 Studio
文档

管道模板

Haystack 提供模板以创建用于常见用例的现成管道。

要创建管道,可以调用from_template方法,传入格式为Pipeline 类的模板标识符PredefinedPipeline.TEMPLATE_IDENTIFIER.

例如,要使用INDEXING 模板创建并运行管道,您可以使用Pipeline.from_template(PredefinedPipeline.INDEXING)

在本节中,我们将详细介绍可用模板及其使用方法。

与网站聊天

生成一个管道,用于读取网页并询问有关其内容的问题。

模板标识符CHAT_WITH_WEBSITE
模板参数-
输入(* 表示必填)'converter': {'meta': {}}
'fetcher': {'urls': ["https://example.com"]}*
'llm': {'generation_kwargs': {}}
'prompt': {'query': '要问的问题'}

示例代码

from haystack import Pipeline, PredefinedPipeline

pipeline = Pipeline.from_template(PredefinedPipeline.CHAT_WITH_WEBSITE)
pipeline.run({"fetcher": {"urls": ["https://haystack.com.cn:"]}, "prompt": {"query": "what is Haystack?"}})

生成式问答

生成一个简单管道,使用OpenAIGenerator.

模板标识符GENERATIVE_QA
模板参数-
输入(* 表示必填)'generator': {'generation_kwargs': {}}
'prompt_builder': {'question': "" }

示例代码

from haystack import Pipeline, PredefinedPipeline

pipeline = Pipeline.from_template(PredefinedPipeline.GENERATIVE_QA)
pipeline.run({"prompt_builder":{"question":"Where is Rome?"}})

索引

生成一个管道,该管道从一个或多个文本文件中导入文档,为每个文档创建嵌入,最后将它们存储在 InMemoryDocumentStore 中。

模板标识符索引
模板参数-
输入(* 表示必填)'llm': {'generation_kwargs': {}}
'prompt_builder': {'query': ''}
'retriever': {'filters': {}, 'top_k': None}
'text_embedder': {'text': ''}}*

示例代码

from haystack import Pipeline, PredefinedPipeline

pipeline = Pipeline.from_template(PredefinedPipeline.INDEXING)
result = pipeline.run({"converter": {"sources": ["some_file.txt"]}})

RAG

使用先前已索引的数据(您可以使用索引模板)生成 RAG 管道。

模板标识符RAG
模板参数-
输入(* 表示必填)'llm': {'generation_kwargs': {}}
'prompt_builder': {'query': ''}
'retriever': {'filters': {}, 'top_k': None}
'text_embedder': {'text': ''}}*

示例代码

from haystack import Pipeline, PredefinedPipeline

pipeline = Pipeline.from_template(PredefinedPipeline.RAG)
pipeline.run({"text_embedder": {"text": "A question about your documents"}})