目錄
探索不同的方法
逐步建立文件問答聊天機器人
前提條件
工作流程
設定
建立索引並儲存
查询索引并获得响应
一些高级用法的说明
总结
首頁 科技週邊 人工智慧 深入淺析,一步步用GPT打造你的聊天機器人

深入淺析,一步步用GPT打造你的聊天機器人

Apr 07, 2023 pm 07:41 PM
機器人 gpt llm

與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)的函式庫。

深入淺析,一步步用GPT打造你的聊天機器人

從檔案中提取相關部分,然後將其回饋給提示。

在下一節中,將給出一個使用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)
登入後複製

深入淺析,一步步用GPT打造你的聊天機器人

一个回应的例子。

然后就可以得到答案了。在幕后,LlamaIndex将接收提示,在索引中搜索相关块,并将提示和相关块传递给GPT。

一些高级用法的说明

上面的步骤只是展示了使用LlamaIndex和GPT回答问题的一个非常简单的入门用法。但可以做得比这更多。事实上,可以配置LlamaIndex来使用不同的大型语言模型(LLM),为不同的任务使用不同类型的索引,用一个新的索引来更新现有的索引,等等。如果有兴趣,可以在https://gpt-index.readthedocs.io/en/latest/index.html,阅读他们的文档。

总结

本文中展示了如何结合使用GPT和LlamaIndex来构建一个文档问答聊天机器人。虽然GPT(和其他LLM)本身就很强大,但如果把它与其他工具、数据或流程结合起来,它的力量也会被大大增强。

以上是深入淺析,一步步用GPT打造你的聊天機器人的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

本地使用Groq Llama 3 70B的逐步指南 本地使用Groq Llama 3 70B的逐步指南 Jun 10, 2024 am 09:16 AM

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

加州理工華人用AI顛覆數學證明!提速5倍震驚陶哲軒,80%數學步驟全自動化 加州理工華人用AI顛覆數學證明!提速5倍震驚陶哲軒,80%數學步驟全自動化 Apr 23, 2024 pm 03:01 PM

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

Plaud 推出 NotePin AI 穿戴式錄音機,售價 169 美元 Plaud 推出 NotePin AI 穿戴式錄音機,售價 169 美元 Aug 29, 2024 pm 02:37 PM

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

七個很酷的GenAI & LLM技術性面試問題 七個很酷的GenAI & LLM技術性面試問題 Jun 07, 2024 am 10:06 AM

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

第二代Ameca來了!和觀眾對答如流,臉部表情更逼真,會說幾十種語言 第二代Ameca來了!和觀眾對答如流,臉部表情更逼真,會說幾十種語言 Mar 04, 2024 am 09:10 AM

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

知識圖譜檢索增強的GraphRAG(基於Neo4j程式碼實作) 知識圖譜檢索增強的GraphRAG(基於Neo4j程式碼實作) Jun 12, 2024 am 10:32 AM

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

可視化FAISS向量空間並調整RAG參數提高結果精度 可視化FAISS向量空間並調整RAG參數提高結果精度 Mar 01, 2024 pm 09:16 PM

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

AI如何使機器人更具自主性和適應性? AI如何使機器人更具自主性和適應性? Jun 03, 2024 pm 07:18 PM

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

See all articles