阿川私房教材:學程式,拿 offer!

63 個專案實戰,直接上手!
無需補習,按步驟打造你的面試作品。

立即解鎖你的轉職秘笈

RAG簡介

作為開發人員,您今天可以學到的最有價值的技能之一是學習如何使用大型語言模型 (LLM) 建立檢索增強生成 (RAG) 應用程式。

為什麼?

因為世界上有超過 64 ZB 的資料,這甚至不包括書籍或實體文件等實體資料。 (供您參考,1澤字節是一兆千兆位元組。)

不僅如此,全球90%的資料都是在過去兩年建立的,而且資料量每兩年就會翻倍。基本上,公司都在海量的資料中游泳,而且這些資料每天都在變得越來越大。

公司將如何存取和使用所有這些資料?

現在每個人都聽說過使用檢索增強生成(RAG)來透過人工智慧尋找資訊。能夠存取和使用不斷增長的資料量是每個公司都需要的關鍵技能。

即使您知道 RAG 基本上是描述將文件或知識連結到 LLM 的工作流程的簡寫方式,許多開發人員自己(還)還沒有嘗試或試驗過這一點。

網路上充滿了圖書館列表,但如何開始呢?

以下是幫助您開始使用 RAG 的最佳庫的簡短清單。


1. LLMWare

在LLMWare中,您可以上傳文件,並透過幾行程式碼開始檢索資訊。它處理 RAG 所需的整個過程:文件攝取、解析、分塊、索引、嵌入、儲存到向量資料庫以及連結到 LLM 以檢索答案。

LLMWare 被設計為整合和端到端,因此所有這些步驟都可以開箱即用。它組裝了所有部件,因此您無需這樣做。

LLMWare 使其非常簡單且易於上手:

  • 只需幾行程式碼即可透過端到端範例實現 RAG 工作流程

  • 建立庫並無縫載入文件

  • 輕鬆產生嵌入

  • 輕鬆進行語意搜尋

  • 利用任何 Hugging Face 模型或 GPT-4 等封閉源模型來回答資料中的問題

  • 範例包括無需 GPU 的 RAG 模型

https://github.com/llmware-ai/llmware

LLMWARE


2. MongoDB

MongoDB 是一種廣泛使用的開源 NoSQL 資料庫程式。它屬於以文件為導向的資料庫類別,這意味著它以類似於 JSON 文件的格式儲存和組織資料。 MongoDB 的設計具有靈活性和可擴展性,使其適合各種應用程式和行業。

資料庫(如 MongoDB)是 RAG 中非常重要的一步,因為它們在嵌入之前儲存從文件或知識庫中提取的訊息,包括重要的元資料。

https://github.com/mongodb/mongo

MongodbVector


3. Milvus 向量資料庫

Milvus 是一個開源向量資料庫,旨在為嵌入相似性搜尋和人工智慧應用程式提供支援。 Milvus 讓非結構化資料搜尋更容易存取,無論部署環境如何,都可以提供一致的使用者體驗。

Milvus DB,或類似的向量 DB,是 RAG 中至關重要的一步。它是存儲向量嵌入以進行相似性搜尋的地方。該資料庫允許人們用自然語言提出問題並檢索相關結果。如果沒有良好的嵌入和向量資料庫,LLM 模型將無法接收正確的文字區塊來讀取。

https://github.com/milvus-io/milvus

Milvus DB


4. 擁抱臉

如果你還沒去過 Hugging Face,你真的應該去看看。這是所有開源模型的去處,並且可以單槍匹馬地將世界從人工智慧壟斷中拯救出來。就像 Github 用於開源專案一樣,Hugging Face 用於開源模型。有超過 450,000 個模型,所有模型都免費供任何想要使用它們的人使用。

Hugging Face 的 Transformers 庫是首選庫

提供數千個預訓練模型來執行不同模式(例如文字、視覺和音訊)的任務。

這些模型可應用於:

  • 文本,用於文本分類、資訊提取、問答、摘要、翻譯和文本生成等任務,支援 100 多種語言。

  • 影像,用於影像分類、物件偵測和分割等任務。

  • 音頻,用於語音辨識和音頻分類等任務。

Transformer 模型還可以組合執行多種模式的任務,例如表格問答、光學字元辨識、從掃描文件中提取資訊、視訊分類和視覺問答。

https://github.com/huggingface

擁抱臉


5. Llama.cpp

沒有GPU?沒問題!

Llama.cpp 來救援!

llama.cpp 的主要目標是在 MacBook 上使用 4 位元整數化來執行 LLaMA 模型。

  • 無依賴的純 C/C++ 實現

  • Apple Silicon 一等公民 - 透過 ARM NEON、Accelerate 和 Metal 框架進行最佳化

  • 對 x86 架構的 AVX、AVX2 和 AVX512 支持

  • 混合F16/F32精度

  • 支援2位、3位、4位、5位、6位和8位整數化

  • CUDA、Metal 和 OpenCL GPU 後端支持

一旦量化,更大的模型就可以在 CPU 上執行,而效能損失很小。尋找 GGUF 版本的模型來嘗試使用 LLMWare 或其他 RAG 工作流程。

https://github.com/ggerganov/llama.cpp

Llama.cpp


這是幫助您開始使用 RAG 的非常基本的概述。如果您想要一個讓所有這些庫無縫協作的一站式整合解決方案,請造訪 LLMWare 的 GitHub 庫,找到 50 多個優秀範例來幫助您入門。

在不和諧中找到我們 - 我們很樂意聽到您的來信!


原文出處:https://dev.to/llmware/top-5-beginner-friendly-open-source-libraries-for-rag-1mhb


共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。

阿川私房教材:學程式,拿 offer!

63 個專案實戰,直接上手!
無需補習,按步驟打造你的面試作品。

立即解鎖你的轉職秘笈