链载Ai

标题: 开源神器Haystack你的RAG小助手 [打印本页]

作者: 链载Ai    时间: 2 小时前
标题: 开源神器Haystack你的RAG小助手

RAG的开源架构较多,今天介绍一个优秀灵活的框架Haystack,它在github上拥有15.1k star,下面让我们来了解它吧。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;border-left: 4px solid rgb(248, 57, 41);">什么是Haystack

Haystack是一个端到端的 LLM 框架,可让您构建由 LLM、Transformer 模型、向量搜索等提供支持的应用程序。无论您想执行检索增强生成 (RAG)、文档搜索、问答还是答案生成,Haystack 都可以将最先进的嵌入模型和 LLM 编排到管道中,以构建端到端 NLP 应用程序并解决您的用例。

Haystack 提供全面的工具来开发使用 LLM 的最先进的 AI 系统。

优势:

谁在使用:以下公司都在使用

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;border-left: 4px solid rgb(248, 57, 41);">Haystack能干什么

成功的 LLM 项目不仅仅需要语言模型。作为一个端到端框架,Haystack 可帮助您逐步构建系统:

Haystack 使用两个主要概念来帮助构建功能齐全且定制的端到端GenAI系统。

组件

Haystack 的核心是其组件构建块,可以执行文档检索、文本生成或创建嵌入等任务。单个组件已经非常强大。它可以管理本地语言模型或通过 API 与托管模型通信。

Haystack 不仅提供了大量可立即使用的组件,还允许您创建自己的自定义组件— 就像编写 Python 类一样简单。

您可以将组件连接在一起以构建Pipelines,这是 Haystack 中 LLM 应用程序架构的基础。

Pipelines

Pipelines是一种强大的抽象,可让您定义通过 LLM 应用程序的数据流。它们由组件组成。

作为开发人员,您可以完全控制如何在Pipelines中排列组件。Pipelines可以分支、连接,也可以循环回到另一个组件。您可以编写 Haystack 管道,这些Pipelines可以重试、循环,甚至可以作为服务持续运行。

Pipelines本质上是图,甚至是多重图。得益于Pipelines的灵活性,具有多个输出的单个组件可以连接到具有多个输入的另一个单个组件或多个组件。

为了帮助您入门,Haystack 为不同的用例提供了许多示例管道:索引、代理聊天、RAG、提取 QA、函数调用、网络搜索等。

以下是 Haystack 的一些功能示例(可以在项目示例中看到):

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;border-left: 4px solid rgb(248, 57, 41);">用起来

环境安装

pipinstallhaystack-ai

搭建你的第一个RAG系统

import os
from haystack import Pipeline, PredefinedPipelineimport urllib.request
os.environ["OPENAI_API_KEY"] = "Your OpenAI API Key"urllib.request.urlretrieve("https://www.gutenberg.org/cache/epub/7785/pg7785.txt", "davinci.txt")
indexing_pipeline =Pipeline.from_template(PredefinedPipeline.INDEXING)indexing_pipeline.run(data={"sources": ["davinci.txt"]})
rag_pipeline =Pipeline.from_template(PredefinedPipeline.RAG)
query = "How old was he when he died?"result = rag_pipeline.run(data={"prompt_builder": {"query":query}, "text_embedder": {"text": query}})print(result["llm"]["replies"][0])


#项目地址https://github.com/deepset-ai/haystack






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5