iT邦幫忙

2024 iThome 鐵人賽

DAY 16
1
Kubernetes

成為 Kubernetes 特級咒術師的 30 天修行系列 第 16

第十六篇:檢索的方法與效果

  • 分享至 

  • xImage
  •  

前言

在我們將原始文件透過 Embedding Model 匯入 Qdrant 後,就算是將原始文件的前置作業完成啦!

原始文件在 Qdrant 如下圖所示,下圖為 Qdrant 提供的 Dashboard,包含了資料(document)與 Metadata(theme):
image

現在我們要做的是依照使用者的問題,在 Qdrant 中進行相似檢索,這個檢索的結果就會被提供給 LLM 進行參考後生成回覆。
檢索效果的好壞會大大影響 LLM 生成的效果,正如同俗話說:「Garbage in, garbage out.」如果提供不好的檢索結果給 LLM,那麼再聰明的 LLM 都無法給我們理想的回覆呦~

檢索方法

在我們設置 Qdrant 時,就有設置是透過餘弦相似度(Cosine)來進行向量的比較,下圖也是 Qdrant 提供的 Dashboard,在上面有提供 INFO 可以看到該 Collection 所選擇的 size 與 distance:
image

接下來,我們就來進行檢索吧~

user_question = "請問什麼是量子計算?"
model_name = 'intfloat_multilingual-e5-large'
qdrant_client.set_model(model_name, cache_dir="./.cache")
result = qdrant_client.query(
    collection_name="{collection_name}",
    query_text=user_question,
    limit=3
)

首先,我們輸入一個使用者問題(user_question):「請問什麼是量子計算?」
接著,我們就可以在 Qdrant,透過 qdrant_client.query 的方式進行檢索,就可以得到檢索結果(result):

  • collection_name:這是 collection 的名稱
  • query_text:這是使用者問題(user_question)
  • limit:也就是我們所說的 Top-k,Top-k 所設定的值為檢索結果的資料筆數。

檢索效果

我們將上述的檢索結果(result)進行整理後,如下所示:

Top-k:1
theme:量子計算
document:
量子計算是一種利用量子力學原理進行計算的新型計算技術。與傳統計算機使用二進制比特不同,量子計算機使用量子比特(qubits),能夠在同時處於 0 和 1 的疊加狀態。這使得量子計算在某些問題上具有比經典計算更強大的計算能力,如因數分解和模擬分子結構。
--------------------------
Top-k:2
theme:量子通信
document:
量子通信是一種利用量子糾纏效應進行信息傳輸的技術,具有極高的安全性。量子密鑰分配是量子通信的一個重要應用,可以實現無法被破解的加密通信。隨著量子通信技術的發展,它有望應用於國防、金融和高安全需求的領域。
--------------------------
Top-k:3
theme:人工智慧與深度學習
document:
深度學習是一種模仿人腦神經網絡結構的人工智慧技術,已經在圖像識別、語音識別和自然語言處理等領域取得了顯著進展。通過訓練大規模數據集,深度學習算法可以自動學習特徵,並在不需要人工干預的情況下進行準確的預測或分類。

該檢索結果為針對輸入的使用者問題(user_question)進行向量化後檢索的結果,因為我們 Top-k 設為 3 的原因,所以檢索結果為依照相似性的分數排序後的前三名。
可以從檢索結果中看到,由於我們在輸入使用者問題(user_question)時,詢問了關於量子計算的問題,因此在檢索時第一筆就找到了關於量子計算的資料,而第二筆也跟量子有關,這樣就代表針對問題的檢索是成功的!

現在我們檢索成功後,就要將結果提供給 LLM 進行回覆的生成啦!
那麼我們明天見囉~


上一篇
第十五篇:詞嵌入模型(Embedding Model)的設置與使用
下一篇
第十七篇:LLM 的設置
系列文
成為 Kubernetes 特級咒術師的 30 天修行30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言