深入淺析,一步步用GPT打造你的聊天機器人
與ChatGPT聊天很有趣,而且資訊量很大 —— 與它閒聊可以探索一些新的想法。但這些都是比較隨意的用例,新奇感很快就會減弱,特別是當人意識到它能產生幻覺的時候。
如何以更有效率的方式使用ChatGPT呢?在OpenAI發布GPT3.5系列API後,可以做的事情遠不止於閒聊。 QA(問答)是企業和個人使用的一個非常有效的用例 —— 用自然語言向機器人詢問自己的文件/數據,它可以透過從文件中檢索資訊並產生回應來快速回答。可以把它用於客戶支援、綜合用戶研究、個人知識管理等等。
向機器人詢問與文件相關的問題。使用穩定擴散法產生的影像。
本文將探討如何根據自己的資料建立問答聊天機器人,包括為什麼有些方法行不通,以及如何利用llama-index和GPT API以高效的方式建立一個文件問答聊天機器人的步驟指南。
(如果只想知道如何建立問答聊天機器人,可以直接跳到「逐步建立文件問答聊天機器人」部分)
探索不同的方法
當ChatGPT問世時,可以想到把它當作自己工作的一個助手,從而節省自己的時間和精力等。
首先想到的是用自己的資料微調GPT模型來實現這個目標。但是,微調需要花費相當多的錢,而且需要一個有實例的大資料集。也不可能在文件有變化時每次都進行微調。更關鍵的一點是,微調根本不可能讓模型「知道」文件中的所有訊息,而是要教模型一種新的技能。因此,對於(多)文件品質保證來說,微調並不是一個好辦法。
第二個方法是透過在提示中提供上下文來進行提示工程。例如,可以在實際問題之前附加原始文件內容,而不是直接問問題。但是GPT模型的注意力是有限的 —— 它只能接受提示中的幾千字(大約4000個標記或3000字)。只要有成千上萬的客戶回饋郵件和數百個產品文檔,就不可能給它提示中的所有背景。如果向API傳遞一個長的上下文,也是很昂貴的,因為定價是基於使用的代幣的數量。
I will ask you questions based on the following context: — Start of Context — YOUR DOCUMENT CONTENT — End of Context— My question is: “What features do users want to see in the app?”
由於提示符號對輸入標記的數量有限制,想出了這樣一個主意來解決問題:首先使用一種演算法來搜尋文件並挑選出相關的摘錄,然後只將這些相關的語境與問題一起傳遞給GPT模型。在過程中需要使用一個簡單、便捷的gpt-index(現在改名為LlamaIndex)的函式庫。
從檔案中提取相關部分,然後將其回饋給提示。
在下一節中,將給出一個使用LlamaIndex和GPT在自己的資料上建立一個問答聊天機器人的逐步教學。
逐步建立文件問答聊天機器人
在這一節中,將用LlamaIndex和GPT(text-davinci-003)在現有文件的基礎上建立一個問答聊天機器人,這樣就可以用自然語言提出關於文件的問題,並從聊天機器人那裡得到答案。
前提條件
在開始本教學之前,需要做一些準備:
- OpenAI API金鑰,可以在https://platform.openai.com /account/api-keys找到。
- 一個檔案資料庫。 LlamaIndex支援許多不同的資料來源,如Notion、Google Docs、Asana等。在本文中將只使用一個簡單的文本文件進行演示。
- 一個本地的Python環境或一個線上的Google Colab筆記本。
工作流程
工作流程很簡單,只需要幾個步驟:
- 1.用LlamaIndex為你的文件資料建立索引。
- 2.用自然語言查詢該索引。
- 3.LlamaIndex將檢索相關部分並將其傳遞給GPT提示。
- 4.向GPT詢問相關的上下文並建立一個回應。
LlamaIndex所做的是將原始文件資料轉換成一個向量的索引,這對查詢來說是非常有效的。它將使用這個索引,根據查詢和資料的相似性,找到最相關的部分。然後,它將把檢索到的內容插入到它將發送給GPT的提示中,這樣GPT就有了回答問題的背景。
設定
首先需要安裝函式庫。只需在終端機或谷歌Colab筆記本上執行以下命令。這些命令將同時安裝LlamaIndex和OpenAI。
!pip install llama-index !pip install openai
接下來將在python中匯入這些函式庫,並在一個新的.py檔案中設定OpenAI API金鑰。
# 导入必要的库 from llama_index import GPTSimpleVectorIndex, Document, SimpleDirectoryReader import os os.environ['OPENAI_API_KEY'] = 'sk-YOUR-API-KEY'
建立索引並儲存
在安裝了所需的庫並將其導入後,將需要建立一個文件的索引。
為了載入文檔,可以使用LllamaIndex提供的SimpleDirectoryReader方法,或者可以從字串中載入它。
# 从一个目录中加载 documents = SimpleDirectoryReader('your_directory').load_data() # 从字符串中加载,假设将数据保存为字符串text1,text2,... text_list = [text1, text2, ...] documents = [Document(t) for t in text_list]
LlamaIndex还提供各种数据连接器,包括Notion、Asana、Google Drive、Obsidian等。可以在https://llamahub.ai/找到可用的数据连接器。
加载完文档后,就可以用以下方法简单地构建索引了:
# 构建一个简单的向量索引 index = GPTSimpleVectorIndex(documents)
如果想保存索引并加载它以便将来使用,可以使用以下方法:
# 将索引保存在`index.json`文件中 index.save_to_disk('index.json') # 从保存的`index.json`文件中加载索引 index = GPTSimpleVectorIndex.load_from_disk('index.json')
查询索引并获得响应
查询索引很简单:
# 查询索引 response = index.query("What features do users want to see in the app?") print(response)
一个回应的例子。
然后就可以得到答案了。在幕后,LlamaIndex将接收提示,在索引中搜索相关块,并将提示和相关块传递给GPT。
一些高级用法的说明
上面的步骤只是展示了使用LlamaIndex和GPT回答问题的一个非常简单的入门用法。但可以做得比这更多。事实上,可以配置LlamaIndex来使用不同的大型语言模型(LLM),为不同的任务使用不同类型的索引,用一个新的索引来更新现有的索引,等等。如果有兴趣,可以在https://gpt-index.readthedocs.io/en/latest/index.html,阅读他们的文档。
总结
本文中展示了如何结合使用GPT和LlamaIndex来构建一个文档问答聊天机器人。虽然GPT(和其他LLM)本身就很强大,但如果把它与其他工具、数据或流程结合起来,它的力量也会被大大增强。
以上是深入淺析,一步步用GPT打造你的聊天機器人的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

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

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

譯者|布加迪審校|重樓本文介紹如何使用GroqLPU推理引擎在JanAI和VSCode中產生超快速反應。每個人都致力於建立更好的大語言模型(LLM),例如Groq專注於AI的基礎設施方面。這些大模型的快速響應是確保這些大模型更快捷響應的關鍵。本教學將介紹GroqLPU解析引擎以及如何在筆記型電腦上使用API和JanAI本地存取它。本文也將把它整合到VSCode中,以幫助我們產生程式碼、重構程式碼、輸入文件並產生測試單元。本文將免費創建我們自己的人工智慧程式設計助理。 GroqLPU推理引擎簡介Groq

LeanCopilot,讓陶哲軒等眾多數學家讚不絕口的這個形式化數學工具,又有超強進化了?就在剛剛,加州理工學院教授AnimaAnandkumar宣布,團隊發布了LeanCopilot論文的擴展版本,更新了程式碼庫。圖片論文地址:https://arxiv.org/pdf/2404.12534.pdf最新實驗表明,這個Copilot工具,可以自動化80%以上的數學證明步驟了!這個紀錄,比以前的基線aesop還要好2.3倍。並且,和以前一樣,它在MIT許可下是開源的。圖片他是一位華人小哥宋沛洋,他是

Plaud Note AI 錄音機(亞馬遜上有售,售價 159 美元)背後的公司 Plaud 宣布推出一款新產品。該設備被稱為 NotePin,被描述為人工智慧記憶膠囊,與 Humane AI Pin 一樣,它是可穿戴的。 NotePin 是

想了解更多AIGC的內容,請造訪:51CTOAI.x社群https://www.51cto.com/aigc/譯者|晶顏審校|重樓不同於網路上隨處可見的傳統問題庫,這些問題需要跳脫常規思維。大語言模型(LLM)在數據科學、生成式人工智慧(GenAI)和人工智慧領域越來越重要。這些複雜的演算法提升了人類的技能,並在許多產業中推動了效率和創新性的提升,成為企業保持競爭力的關鍵。 LLM的應用範圍非常廣泛,它可以用於自然語言處理、文字生成、語音辨識和推薦系統等領域。透過學習大量的數據,LLM能夠產生文本

人形機器人Ameca升級第二代了!最近,在世界行動通訊大會MWC2024上,世界上最先進機器人Ameca又現身了。會場周圍,Ameca引來一大波觀眾。得到GPT-4加持後,Ameca能夠對各種問題做出即時反應。 「來一段舞蹈」。當被問及是否有情感時,Ameca用一系列的面部表情做出回應,看起來非常逼真。就在前幾天,Ameca背後的英國機器人公司EngineeredArts剛剛示範了團隊最新的開發成果。影片中,機器人Ameca具備了視覺能力,能看見並描述房間整個狀況、描述具體物體。最厲害的是,她還能

圖檢索增強生成(GraphRAG)正逐漸流行起來,成為傳統向量搜尋方法的強大補充。這種方法利用圖資料庫的結構化特性,將資料以節點和關係的形式組織起來,從而增強檢索資訊的深度和上下文關聯性。圖在表示和儲存多樣化且相互關聯的資訊方面具有天然優勢,能夠輕鬆捕捉不同資料類型間的複雜關係和屬性。而向量資料庫則處理這類結構化資訊時則顯得力不從心,它們更專注於處理高維度向量表示的非結構化資料。在RAG應用中,結合結構化的圖資料和非結構化的文字向量搜索,可以讓我們同時享受兩者的優勢,這也是本文將要探討的內容。構

隨著開源大型語言模型的效能不斷提高,編寫和分析程式碼、推薦、文字摘要和問答(QA)對的效能都有了很大的提高。但當涉及QA時,LLM通常會在未訓練資料的相關的問題上有所欠缺,許多內部文件都保存在公司內部,以確保合規性、商業機密或隱私。當查詢這些文件時,會使得LLM產生幻覺,產生不相關、捏造或不一致的內容。一種處理這項挑戰的可行技術是檢索增強生成(RAG)。它涉及透過引用訓練資料來源以外的權威知識庫來增強回應的過程,以提升生成的品質和準確性。 RAG系統包括一個檢索系統,用於從語料庫中檢索相關文檔片段

在工業自動化技術領域,最近有兩個熱點很難被忽視:人工智慧(AI)和英偉達(Nvidia)。不要改變原內容的意思,微調內容,重寫內容,不要續寫:「不僅如此,這兩者密切相關,因為英偉達在不僅僅局限於其最開始的圖形處理單元(GPU),正在將其GPU科技擴展到數位孿生領域,同時緊密連接著新興的AI技術。泰瑞達機器人及其MiR和優傲機器人公司。 Recently,Nvidiahascoll
