成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

6行代碼入門RAG開發

發布于 2024-5-15 14:08
瀏覽
0收藏

什么是RAG?

檢索增強生成(RAG)是指對大型語言模型輸出進行優化,使其能夠在生成響應之前引用訓練數據來源之外的權威知識庫。大型語言模型(LLM)用海量數據進行訓練,使用數十億個參數為回答問題、翻譯語言和完成句子等任務生成原始輸出。在 LLM 本就強大的功能基礎上,RAG 將其擴展為能訪問特定領域或組織的內部知識庫,所有這些都無需重新訓練模型。這是一種經濟高效地改進 LLM 輸出的方法,讓它在各種情境下都能保持相關性、準確性和實用性。

更多關于RAG的介紹可以看這篇文章:

什么是RAG(檢索增強生成)?

上代碼

# 導入必要的類
from llama_index.core import SimpleDirectoryReader
from llama_index.core import VectorStoreIndex
# 加載文檔
documents = SimpleDirectoryReader("./data").load_data()
# 創建文檔索引
index = VectorStoreIndex.from_documents(documents)
# 創建聊天引擎
chat_engine = index.as_chat_engine(chat_mode="condense_question", verbose=True)
# 執行聊天
print(chat_engine.chat("DuckDB的VSS擴展主要功能, reply in Chinese"))

6行代碼入門RAG開發-AI.x社區

6行代碼入門RAG

輸出效果可還滿意?這里使用的是 LiteLLM+ollama? 的私有化模型來模擬 OpenAI的,詳情下次介紹。

上面的代碼演示使用的是Vector Similarity Search in DuckDB 的英文原文。

代碼解析

1.安裝必要的包:

pip install llama-index

2.導入必要的類:

from llama_index.core import SimpleDirectoryReader
from llama_index.core import VectorStoreIndex
  • ?SimpleDirectoryReader:用于從指定目錄加載文檔的類。
  • ?VectorStoreIndex:用于創建文檔索引的類,它允許基于文檔內容進行檢索。

3.加載文檔:

documents = SimpleDirectoryReader("./data").load_data()

? 使用SimpleDirectoryReader類從當前目錄下的./data文件夾加載文檔。load_data()方法將文檔加載為一個列表。

4.創建文檔索引:

index = VectorStoreIndex.from_documents(documents)

? 利用VectorStoreIndex類和加載的文檔列表創建一個索引。這個索引將用于后續的檢索和生成回答。

5.創建聊天引擎:

chat_engine = index.as_chat_engine(chat_mode="condense_question", verbose=True)

? 使用index.as_chat_engine()方法創建一個聊天引擎,它將使用索引來生成回答。

?chat_mode="condense_question"參數指定了聊天引擎的模式,在這個例子中,它將嘗試將用戶的問題壓縮成更簡潔的形式。

?verbose=True參數表示在生成回答的過程中將打印出額外的詳細信息。

  1. 6.執行聊天:
print(chat_engine.chat("DuckDB的VSS擴展主要功能, reply in Chinese"))

? 使用chat_engine.chat()方法執行一次聊天交互。

llamaindex 簡介

LlamaIndex[1] 是一個用于構建 上下文增強型 大型語言模型(LLM)應用程序的框架。上下文增強指的是任何在您的私有或特定領域數據之上應用 LLM 的用例。用例包括:

? 提示(Prompting)

? 問答(Question-Answering (RAG))

? 聊天機器人(Chatbots)

? 結構化數據抽取(Structured Data Extraction)

? 代理(Agents)

? 多模態應用(Multi-Modal Applications)

? 微調(Fine-Tuning)

LlamaIndex 提供了工具,使您能夠將上述任何用例從原型構建到生產。這些工具允許您同時攝取(處理)這些數據,并實現復雜的查詢工作流程,結合數據訪問與 LLM 提示。

LlamaIndex 支持 Python 和 Typescript。

6行代碼入門RAG開發-AI.x社區

LlamaIndex

RAG 步驟拆解

6行代碼入門RAG開發-AI.x社區

一個最基本的 RAG 可以分解為如下5步:

1.查詢向量化:將用戶查詢輸入嵌入模型,將自然語言查詢轉換成一個語義化的嵌入向量,以便于進行后續的數學運算和相似性比較。

2.向量數據庫查詢:將得到的嵌入查詢向量輸入到向量數據庫中,以便進行高效的信息檢索。

3.上下文檢索:在知識庫中檢索與查詢向量距離最近的前k個上下文塊。這些上下文塊與查詢在語義上最為相關,它們將作為生成答案的依據。

4.上下文與查詢傳遞:將原始查詢文本和檢索到的相關上下文文本一起輸入到大型語言模型(LLM)中。

5.生成響應:利用LLM的強大生成能力,結合查詢文本和檢索到的上下文,生成一個準確、連貫且信息豐富的響應。

通過這五個步驟,RAG技術能夠有效地結合檢索和生成兩個環節,以提供更加精準和豐富的信息回答。

引用鏈接

[1] LlamaIndex: https://www.llamaindex.ai/

收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 久热9| 久久国产成人精品国产成人亚洲 | 日韩欧美在线一区 | 激情五月综合 | 国产成人精品一区二区三区在线观看 | 欧美日韩国产在线观看 | 久久亚洲欧美日韩精品专区 | 日本爱爱视频 | 欧美精品在线播放 | 夜夜爽99久久国产综合精品女不卡 | 成人一区二区视频 | 欧美aaaa视频 | 国产精品女人久久久 | 国产欧美一区二区三区日本久久久 | 亚洲国产精品久久久久 | 国产成人精品免高潮在线观看 | 伊人久久精品一区二区三区 | 亚洲综合天堂 | 国产精品污www在线观看 | 日韩欧美一级精品久久 | 亚洲国产精品一区二区第一页 | 国产一级片在线观看视频 | 久久国产精99精产国高潮 | 欧美精品在线视频 | 国产一区二区日韩 | 亚洲一区二区三区福利 | 成人在线免费观看 | 国产日韩欧美一区 | 国产精品区二区三区日本 | 欧美国产视频一区二区 | 国产日韩一区二区三免费 | 亚洲 自拍 另类 欧美 丝袜 | 久久夜视频 | 91美女视频 | 欧美精品在欧美一区二区少妇 | 日日干日日射 | 中文字幕日韩欧美一区二区三区 | 精品视频在线观看 | 日韩精品一区二区三区四区 | 国产91在线 | 中日 | 日韩一区在线观看视频 |