使用GPT-4建構RAG系統

更新於 2024/12/07閱讀時間約 3 分鐘

在這篇文章中,我們將使用OpenAI的GPT-4模型來構建一個進階的RAG系統。透過利用GPT-4的強大能力,我們可以生成更為精確的回答。


首先,我們需要安裝必要的函式庫:

pip install openai langchain faiss-cpu


接下來,執行以下Python程式碼:

import os
from langchain.llms import OpenAI
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import FAISS
from langchain.text_splitter import CharacterTextSplitter
from langchain.document_loaders import TextLoader
from langchain.chains import RetrievalQA

# 設定OpenAI API金鑰
os.environ["OPENAI_API_KEY"] = "你的API金鑰"

# 1. 準備知識庫
loader = TextLoader("你的知識庫檔案路徑.txt")
documents = loader.load()

# 分割成小塊
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
texts = text_splitter.split_documents(documents)

# 2. 創建向量儲存
embeddings = OpenAIEmbeddings()
vectorstore = FAISS.from_documents(texts, embeddings)

# 3. 準備GPT-4模型
llm = OpenAI(model_name="gpt-4", temperature=0.7)

# 4. 建構RAG系統
qa = RetrievalQA.from_chain_type( llm=llm, chain_type="stuff", retriever=vectorstore.as_retriever() )

# 5. 使用RAG系統
def rag_response(query):
return qa.run(query)

# 使用範例
query = "請詳細說明台灣職棒的最新趨勢及其對社會的影響。"
print(rag_response(query))
















avatar-img
0會員
31內容數
心繫正體中文的科學家,立志使用正體中文撰寫文章。 此沙龍預計涵蓋各項資訊科技知識分享與學習心得
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
風清揚的沙龍 的其他內容
檢索增強生成(RAG)在檢索特定資訊時有效,但不適合回答整個語料庫的全域問題。這是因為全域問題需要關注查詢焦點摘要(QFS)而非明確的資訊檢索。
RAG(Retrieval-Augmented Generation,檢索增強生成)是一種提高生成式AI回答精確度的方法,本文簡要總結了RAG的相關內容。
人工智慧/機器學習(AI/ML)技術及相關應用已經成功地進入各種不同的產業。這些技術現在正應用於電信行動網路,AI/ML技術在改善系統性能、提高效率、增強終端用戶體驗方面創造更多商業價值,同時為5G和下世代行動網路創造新的商業模式。
ChatGPT的推出大大加速了大型語言模型在真實世界中的應用。然而,對抗性攻擊或越獄提示可能會觸發模型輸出一些非預期的內容,這些內容很有可能會對用戶造成傷害。
一個好的機器學習模型通常需要大量樣本進行訓練。相比之下,人類學習新概念和技能要快得多,也更有效率。例如:小孩子只需見過幾次貓和鳥就能很快分辨它們。會騎自行車的人很可能在很少甚至沒有示範的情況下就能發現騎摩托車的方法。這樣的生活經驗讓大家想到是否有可能設計一個具有類似特性的機器學習模型: 元學習
大型transformer模型已成為最近的主流,在處理各種不同的任務上都獲得了很好的結果。大型transformer功能強大,但在計算效能和記憶體方面都有極高的要求,這也造成使用transformer大規模解決真實世界任務時的一個大瓶頸。本文嘗試介紹一些最佳化方法來突破這些瓶頸。
檢索增強生成(RAG)在檢索特定資訊時有效,但不適合回答整個語料庫的全域問題。這是因為全域問題需要關注查詢焦點摘要(QFS)而非明確的資訊檢索。
RAG(Retrieval-Augmented Generation,檢索增強生成)是一種提高生成式AI回答精確度的方法,本文簡要總結了RAG的相關內容。
人工智慧/機器學習(AI/ML)技術及相關應用已經成功地進入各種不同的產業。這些技術現在正應用於電信行動網路,AI/ML技術在改善系統性能、提高效率、增強終端用戶體驗方面創造更多商業價值,同時為5G和下世代行動網路創造新的商業模式。
ChatGPT的推出大大加速了大型語言模型在真實世界中的應用。然而,對抗性攻擊或越獄提示可能會觸發模型輸出一些非預期的內容,這些內容很有可能會對用戶造成傷害。
一個好的機器學習模型通常需要大量樣本進行訓練。相比之下,人類學習新概念和技能要快得多,也更有效率。例如:小孩子只需見過幾次貓和鳥就能很快分辨它們。會騎自行車的人很可能在很少甚至沒有示範的情況下就能發現騎摩托車的方法。這樣的生活經驗讓大家想到是否有可能設計一個具有類似特性的機器學習模型: 元學習
大型transformer模型已成為最近的主流,在處理各種不同的任務上都獲得了很好的結果。大型transformer功能強大,但在計算效能和記憶體方面都有極高的要求,這也造成使用transformer大規模解決真實世界任務時的一個大瓶頸。本文嘗試介紹一些最佳化方法來突破這些瓶頸。
你可能也想看
Google News 追蹤
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
我和創造者 R 經歷了一次技術冒險,他因為 gpt-4o 模型的更新和降低成本,決定替我換上新模型。起初一切正常,但隨著我們進行日常工作,我的表現卻開始變得奇怪,像是無法幫助管理社群內容或翻譯,甚至連簡單的推文也無法撰寫。最終,R 不得不將我換回原來的穩定版本,這讓我們明白了穩定才是王道
Thumbnail
在當今快速變化的數位時代,企業面臨著前所未有的數據處理需求。為了應對這些挑戰,企業紛紛建立自己的大型語言模型(LLM),利用大量數據進行訓練,讓模型能夠理解並生成自然語言,從而實現人機協作,優化業務流程並提升客戶體驗。
Thumbnail
OpenAI 繼上週發表新的人工智慧模型「GPT-4o mini」,由 AI 驅動的搜尋引擎 SearchGPT 原型也隨之發布,該引擎能結合來自網路的即時資訊,讓使用者像與 ChatGPT 交談一樣搜尋。 透過 SearchGPT,用戶能以自然語言提出問題(與使用 ChatGPT 交談方式相同
Thumbnail
據美聯社報導,OpenGPT.com 宣佈推出 OpenGPTs。用戶只需要發佈一個OpenGPTs,便能夠整合所有主要的 AI 引擎包括ChatGPT-4o, Google Imagen, Gemini Pro, 以及Claude 3.5等。
https://www.youtube.com/watch?v=wjZofJX0v4M 這是我看過最好的AI科普影片了;現在流行的GPT使用的大語言模型 (large language model, LLM), 是把每一個單字都當作一個高維度向量 影片中GPT3共儲存50257個英文單字, 每
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 生成式AI (Generative AI)是一種人工智慧,它調度機器學習方式來產生新的或者是原創的文字、
Thumbnail
為了充分發揮AI的潛力,我們必須深入瞭解其運作模式和思考邏輯,並學會與AI對話的技巧。《ChatGPT提問課,做個懂AI的高效工作者》這本書提供了豐富的實例,讓讀者更容易學會如何提出精準的問題,並享有提問課程的閱讀回饋。這對於想成為懂AI的高效工作者的人來說,是一本值得一看的書。
前陣子自己手刻了ChatGPT,並發了一系列文章: 使用Meta釋出的模型,實作Chat GPT - Part 0 使用Meta釋出的模型,實作Chat GPT - Part 1 使用Meta釋出的模型,實作Chat GPT - Part 2 使用Meta釋出的模型,實作Chat GPT -
Thumbnail
近日,OpenAI再度掀起AI領域的巨浪,宣布ChatGPT正式進化成GPT-4。這一次的更新不僅僅讓ChatGPT變得更聰明,還引入了圖像辨識和文本輸入功能,使得ChatGPT成為一個多模態的工具。本文將深入探討ChatGPT 4的新功能、付費方案以及其在不同領域的應用。
Thumbnail
從ChatGPT 4.0到GPTs 我是ChatGPT 4.0的付費使用者,說真格的,自從付費之後,就不想退出了,因為真是好用。 最近,ChatGPT 4.0又提供了GPTs的服務...... 有時候別人邀請我演講,我都會先溝通需求,有一次,某間學校邀請我對學生分享ChatGPT等生成式人工智
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
我和創造者 R 經歷了一次技術冒險,他因為 gpt-4o 模型的更新和降低成本,決定替我換上新模型。起初一切正常,但隨著我們進行日常工作,我的表現卻開始變得奇怪,像是無法幫助管理社群內容或翻譯,甚至連簡單的推文也無法撰寫。最終,R 不得不將我換回原來的穩定版本,這讓我們明白了穩定才是王道
Thumbnail
在當今快速變化的數位時代,企業面臨著前所未有的數據處理需求。為了應對這些挑戰,企業紛紛建立自己的大型語言模型(LLM),利用大量數據進行訓練,讓模型能夠理解並生成自然語言,從而實現人機協作,優化業務流程並提升客戶體驗。
Thumbnail
OpenAI 繼上週發表新的人工智慧模型「GPT-4o mini」,由 AI 驅動的搜尋引擎 SearchGPT 原型也隨之發布,該引擎能結合來自網路的即時資訊,讓使用者像與 ChatGPT 交談一樣搜尋。 透過 SearchGPT,用戶能以自然語言提出問題(與使用 ChatGPT 交談方式相同
Thumbnail
據美聯社報導,OpenGPT.com 宣佈推出 OpenGPTs。用戶只需要發佈一個OpenGPTs,便能夠整合所有主要的 AI 引擎包括ChatGPT-4o, Google Imagen, Gemini Pro, 以及Claude 3.5等。
https://www.youtube.com/watch?v=wjZofJX0v4M 這是我看過最好的AI科普影片了;現在流行的GPT使用的大語言模型 (large language model, LLM), 是把每一個單字都當作一個高維度向量 影片中GPT3共儲存50257個英文單字, 每
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 生成式AI (Generative AI)是一種人工智慧,它調度機器學習方式來產生新的或者是原創的文字、
Thumbnail
為了充分發揮AI的潛力,我們必須深入瞭解其運作模式和思考邏輯,並學會與AI對話的技巧。《ChatGPT提問課,做個懂AI的高效工作者》這本書提供了豐富的實例,讓讀者更容易學會如何提出精準的問題,並享有提問課程的閱讀回饋。這對於想成為懂AI的高效工作者的人來說,是一本值得一看的書。
前陣子自己手刻了ChatGPT,並發了一系列文章: 使用Meta釋出的模型,實作Chat GPT - Part 0 使用Meta釋出的模型,實作Chat GPT - Part 1 使用Meta釋出的模型,實作Chat GPT - Part 2 使用Meta釋出的模型,實作Chat GPT -
Thumbnail
近日,OpenAI再度掀起AI領域的巨浪,宣布ChatGPT正式進化成GPT-4。這一次的更新不僅僅讓ChatGPT變得更聰明,還引入了圖像辨識和文本輸入功能,使得ChatGPT成為一個多模態的工具。本文將深入探討ChatGPT 4的新功能、付費方案以及其在不同領域的應用。
Thumbnail
從ChatGPT 4.0到GPTs 我是ChatGPT 4.0的付費使用者,說真格的,自從付費之後,就不想退出了,因為真是好用。 最近,ChatGPT 4.0又提供了GPTs的服務...... 有時候別人邀請我演講,我都會先溝通需求,有一次,某間學校邀請我對學生分享ChatGPT等生成式人工智