AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


英特尔FastRAG给你的Pipelines提提速
发布日期:2024-08-21 06:02:25 浏览次数: 1712 来源:哎呀AIYA


FastRAG 是英特尔实验室为高效、优化的 RAG 管道而开发的研究框架。它融合了最先进的大型语言模型 (LLM) 和信息检索功能。fastRAG 旨在为研究人员和开发人员提供支持拥有一套全面的工具集,用于推进检索增强发展。

特点:

  • 优化的 RAG:使用 SOTA 高效组件构建 RAG 管道,以提高计算效率。

  • 针对 Intel 硬件进行了优化:利用 Intel 扩展 PyTorch (IPEX)、? Optimum Intel 和 ? Optimum-Habana,在 Intel® Xeon® 处理器和 Intel® Gaudi® AI 加速器上尽可能优化地运行

  • 可定制:fastRAG 是使用 Haystack 和 HuggingFace 构建的。fastRAG的所有组件都与Haystack100%兼容。

组件

有关fastRAG中各种独特组件的简要概述,涵盖了各种最先进的技术和框架:

实例展示
上篇文章我们介绍了量化后的向量模型,可以大幅提升cpu处理的吞吐量,下面代码展示了如何在rag系统中使用它:
from haystack.schema import Document
# example documents to indexexamples = [ "There is a blue house on Oxford Street.", "Paris is the capital of France.", "The first commit in fastRAG was in 2022"]
documents = []for i, d in enumerate(examples):documents.append(Document(content=d, id=i))document_store.write_documents(documents)
from fastrag.retrievers import QuantizedBiEncoderRetriever
model_id = "Intel/bge-small-en-v1.5-rag-int8-static"retriever = QuantizedBiEncoderRetriever(document_store=document_store, embedding_model=model_id)document_store.update_embeddings(retriever=retriever)
就是这么简单,一行代码融入到了整个流程中。

FastRAG怎么用

官方给了很多个使用的例子,教大家怎么使用,下面展示部分例子,并给出使用代码的地址:

使用量化组件进行高效的开放域问答

使用知识语料库生成可回答问题的答案。

检索 使用 基于BM25的词汇检索,或使用基于 PLAID互动的稠密向量检索;
排序 使用Sentence Transformer 或 ColBERT 进行后期交互密集检索。我们还提供利用高度优化的量化重新排名器进行快速推理。

生成 使用Fusion-in-Decoder

https://github.com/IntelLabs/fastRAG/blob/main/examples/plaid_colbert_pipeline.ipynb

基于LLM的检索增强生成

通过使用检索增强功能提升大型语言模型 (LLM)的生成能力,您可以按照以下步骤操作:

  1. 定义检索流:这涉及创建一个包含相关信息的存储,以及一个或多个检索器/排名器,以检索最相关的文档或段落。

  2. 定义提示模板:设计一个模板,其中包含合适的上下文或指令,以及管道检索的查询和信息的占位符。这些占位符将在生成过程中动态填充。

  3. 从 LLM 请求生成:利用提示模板并将其传递给 LLM,允许它根据提供的上下文、查询和检索到的信息生成令牌。

https://github.com/IntelLabs/fastRAG/blob/main/examples/rag-prompt-hf.ipynb

使用 REPLUG 与 LLM 进行并行文档读取

使用 REPLUG:Retrieval-Augmented Black-Box Language Models 中引入的算法并行读取多个文档,以生成任何问题的答案。

https://arxiv.org/abs/2301.12652https://github.com/IntelLabs/fastRAG/blob/main/examples/replug_parallel_reader.ipynb

开放域摘要

根据自由文本输入和知识语料库总结主题。使用 BM25 或其他检索器
检索 使用Sentence Transformers或其他排名器
生成 使用提示,所有文档内容拼接和 FLAN-T5 生成模型
"summarize: "

https://github.com/IntelLabs/fastRAG/blob/main/examples/od_summarization_pipeline.ipynb

如果对内容有什么疑问和建议可以私信和留言,也可以添加我加入大模型交流群,一起讨论大模型在创作、RAG和agent中的应用。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询