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

6行代碼入門RAG開發(fā)

發(fā)布于 2024-5-15 14:08
瀏覽
0收藏

什么是RAG?

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

更多關(guān)于RAG的介紹可以看這篇文章:

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

上代碼

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

6行代碼入門RAG開發(fā)-AI.x社區(qū)

6行代碼入門RAG

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

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

代碼解析

1.安裝必要的包:

pip install llama-index

2.導(dǎo)入必要的類:

from llama_index.core import SimpleDirectoryReader
from llama_index.core import VectorStoreIndex
  • ?SimpleDirectoryReader:用于從指定目錄加載文檔的類。
  • ?VectorStoreIndex:用于創(chuàng)建文檔索引的類,它允許基于文檔內(nèi)容進(jìn)行檢索。

3.加載文檔:

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

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

4.創(chuàng)建文檔索引:

index = VectorStoreIndex.from_documents(documents)

? 利用VectorStoreIndex類和加載的文檔列表創(chuàng)建一個(gè)索引。這個(gè)索引將用于后續(xù)的檢索和生成回答。

5.創(chuàng)建聊天引擎:

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

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

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

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

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

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

llamaindex 簡介

LlamaIndex[1] 是一個(gè)用于構(gòu)建 上下文增強(qiáng)型 大型語言模型(LLM)應(yīng)用程序的框架。上下文增強(qiáng)指的是任何在您的私有或特定領(lǐng)域數(shù)據(jù)之上應(yīng)用 LLM 的用例。用例包括:

? 提示(Prompting)

? 問答(Question-Answering (RAG))

? 聊天機(jī)器人(Chatbots)

? 結(jié)構(gòu)化數(shù)據(jù)抽取(Structured Data Extraction)

? 代理(Agents)

? 多模態(tài)應(yīng)用(Multi-Modal Applications)

? 微調(diào)(Fine-Tuning)

LlamaIndex 提供了工具,使您能夠?qū)⑸鲜鋈魏斡美龔脑蜆?gòu)建到生產(chǎn)。這些工具允許您同時(shí)攝取(處理)這些數(shù)據(jù),并實(shí)現(xiàn)復(fù)雜的查詢工作流程,結(jié)合數(shù)據(jù)訪問與 LLM 提示。

LlamaIndex 支持 Python 和 Typescript。

6行代碼入門RAG開發(fā)-AI.x社區(qū)

LlamaIndex

RAG 步驟拆解

6行代碼入門RAG開發(fā)-AI.x社區(qū)

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

1.查詢向量化:將用戶查詢輸入嵌入模型,將自然語言查詢轉(zhuǎn)換成一個(gè)語義化的嵌入向量,以便于進(jìn)行后續(xù)的數(shù)學(xué)運(yùn)算和相似性比較。

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

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

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

5.生成響應(yīng):利用LLM的強(qiáng)大生成能力,結(jié)合查詢文本和檢索到的上下文,生成一個(gè)準(zhǔn)確、連貫且信息豐富的響應(yīng)。

通過這五個(gè)步驟,RAG技術(shù)能夠有效地結(jié)合檢索和生成兩個(gè)環(huán)節(jié),以提供更加精準(zhǔn)和豐富的信息回答。

引用鏈接

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

標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
主站蜘蛛池模板: 国产福利久久 | 91视频网| 成人在线观看免费观看 | 一级黄色毛片免费 | 91国内在线观看 | 欧美三级在线 | 情侣酒店偷拍一区二区在线播放 | 在线毛片网 | 欧美日韩在线免费观看 | 91久久精品一区二区二区 | 国产日本精品视频 | 日本黄色片免费在线观看 | 国产精品1| 久久精品一区二区三区四区 | 国产精品久久久久久久久久妞妞 | 免费在线观看h片 | 亚洲精品美女在线观看 | 欧美中文视频 | 成人在线免费 | 国产精品美女久久久久aⅴ国产馆 | 国产原创在线观看 | 国产精品1区2区 | 日韩视频 中文字幕 | 国产精品日日摸夜夜添夜夜av | 日日碰狠狠躁久久躁96avv | 成人在线观看免费视频 | 秋霞在线一区 | 国产精品99久久久久久久久久久久 | 欧美一级在线视频 | 91亚洲一区 | 成人精品鲁一区一区二区 | 国产精品久久久久久久久久 | 午夜精品网站 | 亚洲成人久久久 | 国产96色在线 | 日本一二区视频 | 天堂一区在线观看 | 亚洲欧美日韩精品久久亚洲区 | 精品国产鲁一鲁一区二区张丽 | 91传媒在线观看 | 亚洲免费视频网址 |