LlamaIndex:賦能大型語言模型的數據框架
LlamaIndex是一個基於大型語言模型(LLM)的應用數據框架。像GPT-4這樣的LLM預先訓練了海量公共數據集,開箱即用地提供強大的自然語言處理能力。然而,如果沒有訪問您自己的私有數據,它們的效用將受到限制。
LlamaIndex允許您通過靈活的數據連接器,從API、數據庫、PDF等多種來源攝取數據。這些數據被索引成針對LLM優化的中間表示。然後,LlamaIndex允許通過查詢引擎、聊天界面和LLM驅動的智能體與您的數據進行自然語言查詢和對話。它使您的LLM能夠大規模訪問和解釋私有數據,而無需對模型進行重新訓練。
無論您是尋求簡單自然語言查詢數據方法的初學者,還是需要深度定制的高級用戶,LlamaIndex都能提供相應的工具。高級API讓您只需五行代碼即可上手,而低級API則允許您完全控制數據攝取、索引、檢索等更多功能。
LlamaIndex的工作原理
LlamaIndex使用檢索增強生成(RAG)系統,該系統將大型語言模型與私有知識庫相結合。它通常包括兩個階段:索引階段和查詢階段。
圖片來自高級概念
索引階段
在索引階段,LlamaIndex會將私有數據高效地索引到向量索引中。此步驟有助於創建特定於您領域的、可搜索的知識庫。您可以輸入文本文檔、數據庫記錄、知識圖譜和其他數據類型。
本質上,索引將數據轉換為數值向量或嵌入,以捕捉其語義含義。它能夠快速進行跨內容的相似性搜索。
查詢階段
在查詢階段,RAG管道根據用戶的查詢搜索最相關的信息。然後,將這些信息與查詢一起提供給LLM,以創建準確的響應。
此過程允許LLM訪問其初始訓練中可能未包含的當前和更新的信息。
此階段的主要挑戰是從可能存在的多個知識庫中檢索、組織和推理信息。
在我們的PineCone檢索增強生成代碼示例中了解更多關於RAG的信息。
LlamaIndex的設置
在我們深入LlamaIndex教程和項目之前,我們必須安裝Python包並設置API。
我們可以使用pip簡單地安裝LlamaIndex。
<code>pip install llama-index</code>
默認情況下,LlamaIndex使用OpenAI GPT-3 text-davinci-003模型。要使用此模型,您必須設置OPENAI_API_KEY。您可以創建一個免費帳戶,並通過登錄OpenAI的新API令牌來獲取API密鑰。
<code>pip install llama-index</code>
此外,請確保您已安裝openai包。
<code>import os os.environ["OPENAI_API_KEY"] = "INSERT OPENAI KEY"</code>
使用LlamaIndex向LLM添加個人數據
在本節中,我們將學習如何使用LlamaIndex創建一個簡歷閱讀器。您可以通過訪問LinkedIn個人資料頁面,單擊“更多”,然後“保存為PDF”來下載您的簡歷。
請注意,我們使用DataLab運行Python代碼。您可以在LlamaIndex:向LLM添加個人數據工作簿中訪問所有相關的代碼和輸出;您可以輕鬆創建自己的副本以運行所有代碼,而無需在您的計算機上安裝任何內容!
在運行任何內容之前,我們必須安裝llama-index、openai和pypdf。我們安裝pypdf以便我們可以讀取和轉換PDF文件。
<code>pip install openai</code>
加載數據並創建索引
我們有一個名為“Private-Data”的目錄,其中只包含一個PDF文件。我們將使用SimpleDirectoryReader讀取它,然後使用TreeIndex將其轉換為索引。
<code>%pip install llama-index openai pypdf</code>
運行查詢
一旦數據被索引,您就可以開始通過使用as_query_engine()提問。此函數使您可以詢問文檔中特定信息的問題,並在OpenAI GPT-3 text-davinci-003模型的幫助下獲得相應的響應。
注意:您可以按照在Python教程中使用GPT-3.5和GPT-4通過OpenAI API的說明,在DataLab中設置OpenAI API。
正如我們所看到的,LLM模型準確地回答了查詢。它搜索了索引並找到了相關信息。
<code>from llama_index import TreeIndex, SimpleDirectoryReader resume = SimpleDirectoryReader("Private-Data").load_data() new_index = TreeIndex.from_documents(resume)</code>
<code>query_engine = new_index.as_query_engine() response = query_engine.query("When did Abid graduated?") print(response)</code>
我們可以進一步詢問認證信息。似乎LlamaIndex已經完全了解了候選人,這對於尋找特定人才的公司來說可能是有利的。
<code>Abid graduated in February 2014.</code>
<code>response = query_engine.query("What is the name of certification that Abid received?") print(response)</code>
保存和加載上下文
創建索引是一個耗時的過程。我們可以通過保存上下文來避免重新創建索引。默認情況下,以下命令將保存存儲在./storage目錄中的索引存儲。
<code>Data Scientist Professional</code>
完成後,我們可以快速加載存儲上下文並創建索引。
<code>new_index.storage_context.persist()</code>
為了驗證它是否正常工作,我們將向查詢引擎提出簡歷中的問題。看來我們已經成功加載了上下文。
<code>from llama_index import StorageContext, load_index_from_storage storage_context = StorageContext.from_defaults(persist_) index = load_index_from_storage(storage_context)</code>
<code>query_engine = index.as_query_engine() response = query_engine.query("What is Abid's job title?") print(response)</code>
聊天機器人
除了問答之外,我們還可以使用LlamaIndex創建個人聊天機器人。我們只需要使用as_chat_engine()函數初始化索引即可。
我們將問一個簡單的問題。
<code>Abid's job title is Technical Writer.</code>
<code>query_engine = index.as_chat_engine() response = query_engine.chat("What is the job title of Abid in 2021?") print(response)</code>
並且無需提供額外的上下文,我們將提出後續問題。
<code>Abid's job title in 2021 is Data Science Consultant.</code>
<code>response = query_engine.chat("What else did he do during that time?") print(response)</code>
很明顯,聊天引擎運行完美無缺。
構建語言應用程序後,您時間軸上的下一步是閱讀關於在雲中使用大型語言模型(LLM)與在本地運行它們的優缺點。這將幫助您確定哪種方法最適合您的需求。
使用LlamaIndex構建維基文本轉語音
我們的下一個項目涉及開發一個可以響應來自維基百科的問題並將它們轉換為語音的應用程序。
代碼源和附加信息可在DataLab工作簿中找到。
網絡抓取維基百科頁面
首先,我們將從意大利 - 維基百科網頁抓取數據,並將其保存為data文件夾中的italy_text.txt文件。
<code>pip install llama-index</code>
加載數據並構建索引
接下來,我們需要安裝必要的包。 elevenlabs包允許我們使用API輕鬆地將文本轉換為語音。
<code>import os os.environ["OPENAI_API_KEY"] = "INSERT OPENAI KEY"</code>
通過使用SimpleDirectoryReader,我們將加載數據並將TXT文件轉換為使用VectorStoreIndex的向量存儲。
<code>pip install openai</code>
查詢
我們的計劃是詢問有關該國的一般性問題,並從LLM query_engine獲得答复。
<code>%pip install llama-index openai pypdf</code>
文本轉語音
之後,我們將使用llama_index.tts模塊訪問ElevenLabsTTS api。您需要提供ElevenLabs API密鑰才能啟動音頻生成功能。您可以在ElevenLabs網站上免費獲得API密鑰。
<code>from llama_index import TreeIndex, SimpleDirectoryReader resume = SimpleDirectoryReader("Private-Data").load_data() new_index = TreeIndex.from_documents(resume)</code>
我們將response添加到generate_audio函數中以生成自然語音。為了收聽音頻,我們將使用IPython.display的Audio函數。
<code>query_engine = new_index.as_query_engine() response = query_engine.query("When did Abid graduated?") print(response)</code>
這是一個簡單的示例。您可以使用多個模塊來創建您的助手,例如Siri,它通過解釋您的私有數據來回答您的問題。有關更多信息,請參閱LlamaIndex文檔。
除了LlamaIndex之外,LangChain還允許您構建基於LLM的應用程序。此外,您可以閱讀數據工程和數據應用程序的LangChain入門,以了解您可以使用LangChain執行的操作概述,包括LangChain解決的問題和數據用例示例。
LlamaIndex的用例
LlamaIndex提供了一個完整的工具包來構建基於語言的應用程序。最重要的是,您可以使用Llama Hub中的各種數據加載器和智能體工具來開發具有多種功能的複雜應用程序。
您可以使用一個或多個插件數據加載器將自定義數據源連接到您的LLM。
來自Llama Hub的數據加載器
您還可以使用智能體工具來集成第三方工具和API。
來自Llama Hub的智能體工具
簡而言之,您可以使用LlamaIndex構建:
- 基於文檔的問答
- 聊天機器人
- 智能體
- 結構化數據
- 全棧Web應用程序
- 私有設置
要詳細了解這些用例,請訪問LlamaIndex文檔。
結論
LlamaIndex提供了一個強大的工具包,用於構建檢索增強生成系統,該系統結合了大型語言模型和自定義知識庫的優勢。它能夠創建一個特定領域數據的索引存儲,並在推理過程中利用它,為LLM提供相關的上下文以生成高質量的響應。
在本教程中,我們學習了LlamaIndex及其工作原理。此外,我們僅使用幾行Python代碼就構建了一個簡歷閱讀器和文本轉語音項目。使用LlamaIndex創建LLM應用程序非常簡單,它提供了一個龐大的插件、數據加載器和智能體庫。
要成為一名專家級LLM開發人員,下一步是參加大型語言模型概念大師課程。本課程將使您全面了解LLM,包括它們的應用、訓練方法、倫理考慮和最新研究。
以上是LlamainDEX:基於大語模型(LLM)應用程序的數據框架的詳細內容。更多資訊請關注PHP中文網其他相關文章!

隨著AI應用的爆炸式增長,企業正從傳統的搜索引擎優化(SEO)轉向生成式引擎優化(GEO)。 谷歌正引領這一轉變。其“AI概述”功能已服務於超過十億用戶,在用戶點擊鏈接之前提供完整的答案。 [^2] 其他參與者也在迅速崛起。 ChatGPT、微軟Copilot和Perplexity正在創造一種全新的“答案引擎”類別,完全繞過了傳統的搜索結果。 如果您的企業沒有出現在這些AI生成的答案中,潛在客戶可能永遠不會發現您——即使您在傳統的搜索結果中排名靠前。 從SEO到GEO——這究竟意味著什麼? 幾十年來

讓我們探索人工通用智能(AGI)的潛在途徑。 該分析是我正在進行的《福布斯》列的AI進步的一部分,並深入研究了達到AGI和人工超智慧(ASI)的複雜性。 (請參閱相關藝術

人機互動:一場互適應的微妙舞蹈 與AI聊天機器人互動,如同參與一場微妙的相互影響的舞蹈。你的提問、回應和偏好逐漸塑造著系統,使其更好地滿足你的需求。現代語言模型通過顯式反饋機制和隱式模式識別來適應用戶的偏好。它們學習你的溝通風格,記住你的偏好,並逐漸調整其回應以符合你的預期。 然而,在我們訓練數字夥伴的同時,同樣重要的事情也在反向發生。我們與這些系統的互動正在微妙地重塑我們自身的溝通模式、思維過程,甚至對人際對話的期望。 我們與AI系統的互動已經開始重塑我們對人際互動的期望。我們適應了即時回應、

AI簡化了野火恢復允許 澳大利亞科技公司Archistar的AI軟件,利用機器學習和計算機視覺,可以自動評估建築計劃以符合當地法規。這種驗證前具有重要意義

愛沙尼亞的數字政府:美國的典範? 美國在官僚主義的效率低下方面掙扎,但愛沙尼亞提供了令人信服的選擇。 這個小國擁有由AI支持的近100%數字化的,以公民為中心的政府。 這不是

計劃婚禮是一項艱鉅的任務,即使是最有條理的夫婦,也常常壓倒了婚禮。 本文是關於AI影響的持續福布斯系列的一部分(請參閱此處的鏈接),探討了生成AI如何徹底改變婚禮計劃。 婚禮上

企業越來越多地利用AI代理商進行銷售,而政府則將其用於各種既定任務。 但是,消費者倡導強調個人需要擁有自己的AI代理人作為對經常定位的辯護的必要性

Google正在領導這一轉變。它的“ AI概述”功能已經為10億用戶提供服務,在任何人單擊鏈接之前提供完整的答案。 [^2] 其他球員也正在迅速獲得地面。 Chatgpt,Microsoft Copilot和PE


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1
強大的PHP整合開發環境

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。