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

開發(fā)者的LlamaIndex入門指南

譯文 精選
人工智能
雖然我們仍然缺乏一種全面的語言來描述模型內部發(fā)生的事情,但是通過LlamaIndex使用的RAG不乏一種可靠的途徑。它既可以增強針對特定領域信息的大語言模型,也可以確保處理結果的可驗證性。而這一切都旨在減少錯誤應答的可能,而這正是當前困擾人工智能的典型問題。

想了解更多AIGC的內容,請訪問:

51CTO AI.x社區(qū)

http://www.ekrvqnd.cn/aigc/

LlamaIndex是一個專注于檢索增強生成(RAG)的工具,可以協(xié)助您豐富大模型的數據提示。本文將用實例向您展示和介紹。

眾所周知,GPT(General Pretrained Transformer)為我們描述了一套通過各種矩陣乘法,實現(xiàn)輸入、轉換和輸出的循環(huán)。其中的單詞(實際上是文本、聲音或圖像的令牌)會被轉換為具有足夠維度的矢量,從而表達內在意義。如下圖所示,為了確保被傳入的上下文是可以計算的,我們需要注意其臨近的動詞,并通過更多的矩陣乘法塊,來移動向量,進而更接近其上下文的真正含義(例如,“黑洞”就不僅僅是一個黑暗的洞穴的含義)。

不過,GPT產品的瓶頸在于:其對于下一個詞的猜測,頂多只能和輸入文本語料庫的水平相當。而如果我們需要向ChatGPT詢問那些它尚未學習過的文本時,鑒于輸入窗口的限制,我們無法將大量文本一次性塞入查詢中。而此時,我們就需要用RAG來對提示進行“豐富”。

如果您使用過矢量數據庫,那么一定聽說過RAG,它是檢索增強生成(Retrieval Augmented Generation)的縮寫,是一種在無需重新訓練的情況下,將新數據引入大語言模型(LLM)的方法。而LlamaIndex(https://docs.llamaindex.ai/en/stable/)則是一個專注于檢索的工具,可被用來協(xié)助您“豐富”數據的提示。

開始使用LlamaIndex

如果您想直接上手LlamaIndex,其快速的開始鏈接--https://docs.llamaindex.ai/en/stable/getting_started/installation/,給出了“5行代碼”入手法。

在Mac上,我選擇使用Visual Studio Code來安裝并運行Python 3。為此,我會打開一個Warp終端,并輸入如下命令:

>brew install python3

完成后,我們可以通過如下截圖予以確認:

接著,我會在該空文件夾中啟動Visual Studio 。在安裝了Python擴展后,我使用Python來創(chuàng)建環(huán)境,即:從命令面板(Palette)中創(chuàng)建了一個特定于項目的虛擬環(huán)境。然后,我選擇了Venv,并最后確認了自己正在使用的是剛剛安裝好的Python:

根據LlamaIndex的說明,我們需要在Visual Studio Code的虛擬環(huán)境中,使用pip安裝lama-index包(注意,是在活動終端而非Warp中):

下面,我需要向環(huán)境出示自己的OpenAI密鑰。鑒于在IDE下運行的虛擬環(huán)境的特性,我們將其粘貼在Visual Studio Code運行項目所制作的launch.json文件中,是最安全的(當然,您可能需要創(chuàng)建一個OpenAI帳戶。):

.. 
"configurations": 
[ 
{ 
"name": "Python Debugger: Current File", 
"type": "debugpy",
"request": "launch", 
"program": "${file}", 
"console": "integratedTerminal", 
"env": 
{  
"OPENAI_API_KEY": "XXXX" 
} 
} 
] 
..

按照LlamaIndex開始教程中的建議,我從鏈接--https://raw.githubusercontent.com/run-llama/llama_index/main/docs/docs/examples/data/paul_graham/paul_graham_essay.txt下載并放置了一個名為data的文件夾,其中包含了一本冗長的傳記。

在Visual Studio代碼中,我創(chuàng)建了一個starter.py文件,其內容如下:

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
documents = SimpleDirectoryReader("data").load_data() 
index = VectorStoreIndex.from_documents(documents) 

query_engine = index.as_query_engine() 
response = query_engine.query("What did the author do growing up?") 
print(response)

可見,就算您對Python并無深入的了解,也能依靠llama_index軟件包構建出大部分代碼。下面展示的是它對于查詢的回復:

為了確認我確實調用了OpenAI,以下便是我?guī)艋顒拥慕y(tǒng)計數據:

那么,這段代碼到底能做什么呢?它會將新的文本嵌入到矢量存儲中,并通過調用VectorStoreIndex以便在查詢時提供檢索,并在調用進入GPT-3.5之前,以英語形式添加到上下文的窗口中。這便是我在前文中提到的對提示進行“豐富”的實踐。

通過添加兩行日志代碼,我既能夠提取大量密集的REST調用,也可以從llama_index包中提取如下實用的提示:

DEBUG:llama_index.core.indices.utils:> Top 2 nodes: 
> [Node 167d0eb4-7dba-4b93-85ec-3f5779b32daa] [Similarity score: 0.819982] 
"What I Worked On February 2021 Before college the two main things 
I worked on, outside of school..." 

> [Node ee847bc2-d56a-4c26-afd7-c4bee9a3d116] [Similarity score: 0.811733] 
"I remember taking the boys to the coast on a sunny day in 2015 and 
figuring out how to deal with ..."

據此,我們可以了解到其后臺發(fā)生的調用與變化了。

在完成之前,我會在data文件夾中添加另一個文檔:莎士比亞的《十四行詩》。雖然我無法保障LLM已經有所“知曉”,但是顯然這一堆詩并不會構成具有實際意義的敘事。

據此,我將使用一個故意模糊的問題,來運行如下額外的查詢:

.. 
response = query_engine.query("Who is Blessed?") 
print(response)

就此,我得到的簡短回答是:

Adonis is Blessed.

是不是非常有趣?在后臺,llama_index包“捕獲”的是這十四行詩中提到Adonis的如下區(qū)域:

“你是被祝福的,你的價值給了你機會,你必須勝利,雖然缺乏希望。你的本質是什么?你是由什么構成的?既然每個人都有自己的影子,而你也有自己的那個。不過,每個影子都能借來指代Adonis和其贗品,也就是去模仿你。在Helen的臉頰上,所有美麗的藝術,就像你在希臘的輪胎上涂上了新的顏色。雖說是春天,但一年后仍會腐朽。一個是你美麗的影子,另一個則是你的慷慨,你是我們所知道的每一個幸福的該有的形狀。”

就像我們之前看到的日志節(jié)點那樣,我也截獲到了如下節(jié)點信息:

DEBUG:llama_index.core.indices.utils:> Top 2 nodes: 
> [Node 38e29f53-3656-4b55-ab6b-08acf898f122] [Similarity score: 0.766188] 
"Blessed are you whose worthiness gives scope, Being had to triumph, 
being lacked to hope. What i..." 

> [Node 16d55fda-34ac-42cf-9b08-66d2c6944302] [Similarity score: 0.730936] 
"And other strains of woe, which now seem woe, Compared with loss of thee, 
will not seem so. Some..."

可見,其中大部分出自十四行詩的第53節(jié)。“blessed”一詞確實出現(xiàn)在“Adonis”的附近。

當然,對于表現(xiàn)足夠好的LlamaIndex來說,這些都不是問題。我剛剛使用了構建管道的第一步,LlamaIndex后續(xù)會為您提供更多的、以這類方式處理文檔的解釋。

小結

目前,雖然我們仍然缺乏一種全面的語言來描述模型內部發(fā)生的事情,但是通過LlamaIndex使用的RAG不乏一種可靠的途徑。它既可以增強針對特定領域信息的大語言模型,也可以確保處理結果的可驗證性。而這一切都旨在減少錯誤應答的可能,而這正是當前困擾人工智能的典型問題。

譯者介紹

陳峻(Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項目實施經驗,善于對內外部資源與風險實施管控,專注傳播網絡與信息安全知識與經驗。

原文標題:A Developer’s Guide to Getting Started with LlamaIndex,作者:David Eastman

鏈接:https://thenewstack.io/a-developers-guide-to-getting-started-with-llamaindex/。

想了解更多AIGC的內容,請訪問:

51CTO AI.x社區(qū)

http://www.ekrvqnd.cn/aigc/

責任編輯:姜華 來源: 51CTO內容精選
相關推薦

2017-11-27 13:09:00

AndroidGradle代碼

2013-08-30 09:41:46

JavaApache CameApache

2025-03-17 08:00:00

2024-02-01 09:37:42

Kubernetes服務網格? 命令

2018-03-27 23:25:40

Paddle

2019-08-16 10:55:37

開發(fā)者技能AI

2024-03-21 08:18:00

Chrome前端瀏覽器

2023-05-19 10:04:18

Vue開發(fā)者代碼

2019-02-21 13:40:35

Javascript面試前端

2022-01-02 23:26:08

開發(fā)SDK Sentry

2022-01-11 20:42:54

開發(fā)Sentry標志

2011-04-13 09:55:16

Mail APIBlackBerry

2011-04-13 13:38:57

選項APIBlackBerry

2022-01-17 19:34:43

SentryWeb APISentry API

2012-06-13 01:23:30

開發(fā)者程序員

2011-07-19 09:51:32

性能優(yōu)化Designing FAndroid

2022-01-18 23:26:45

開發(fā)

2011-04-13 11:31:06

PIM APIBlackBerry

2022-01-15 23:33:47

SentryPyCharm配置

2009-02-19 08:46:31

Windows 7開發(fā)者指南下載
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一级二级视频 | 欧美情趣视频 | 99pao成人国产永久免费视频 | 国产精品美女久久久久aⅴ国产馆 | 中文字幕日韩欧美一区二区三区 | 一区中文字幕 | 福利电影在线 | 日韩一级电影免费观看 | a免费观看 | 玖玖精品视频 | 美女黄网站视频免费 | 久热国产精品视频 | 国产午夜精品久久久久免费视高清 | 日韩欧美三区 | 亚洲精品久久区二区三区蜜桃臀 | 国产高清久久 | 成人天堂 | 欧美成年黄网站色视频 | 一区二区三区精品视频 | 国产精品视频在线免费观看 | 日本在线网址 | 久久91 | 91视频在线观看 | 7777精品伊人久久精品影视 | 在线 丝袜 欧美 日韩 制服 | 久久91av| 成人精品国产免费网站 | 国产一区二区三区www | 99精品视频在线观看免费播放 | 久久久久久久久久影视 | 中文字幕久久精品 | 精品毛片| 日本一区二区三区在线观看 | 亚洲视频二区 | 亚洲天堂免费 | 99久久99久久精品国产片果冰 | 中文字字幕一区二区三区四区五区 | 精品国产精品三级精品av网址 | 日本在线观看视频 | av在线成人 | 中文日韩在线视频 |