返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

英特尔FastRAG给你的Pipelines提提速

[复制链接]
链载Ai 显示全部楼层 发表于 1 小时前 |阅读模式 打印 上一主题 下一主题

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系统中使用它:
fromhaystack.schemaimportDocument
# example documents to indexexamples = [ "There is a blue house on Oxford Street.", "aris 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 TransformerColBERT进行后期交互密集检索。我们还提供利用高度优化的量化重新排名器进行快速推理。

生成 使用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

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;background-color: rgb(255, 255, 255);">如果对内容有什么疑问和建议可以私信和留言,也可以添加我加入大模型交流群,一起讨论大模型在创作、RAG和agent中的应用。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ