AI說書 - 從0開始 - 333 | Embedding Based Search Embedded 相似度排序

更新 發佈閱讀 1 分鐘

我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。


回顧目前有的素材:


為了進行兩個 Embedding 的相似度計算,我們先撰寫一函數來處理此事宜:

def strings_ranked_by_relatedness(query: str,
df: pd.DataFrame,
relatedness_fn = lambda x, y: 1 - spatial.distance.cosine(x, y),
top_n: int = 100) -> tuple[list[str], list[float]]:


接著我們的 Query 也需要匯入相同的 Embedding Model:

client = OpenAI()

query_embedding_response = client.embeddings.create(model = EMBEDDING_MODEL,
input = query)

query_embedding = query_embedding_response.data[0].embedding


同時資料庫中的資料也需要經過 Embedding Model,並逐一計算相似度:

strings_and_relatednesses = [(row["text"], relatedness_fn(query_embedding, row["embedding"])) for i, row in df.iterrows()]


再進行相似度排序,並擷取前 n 筆資料:

strings_and_relatednesses.sort(key = lambda x: x[1], reverse = True)
strings, relatednesses = zip(*strings_and_relatednesses)
return strings[:top_n], relatednesses[:top_n]


整體程式拼湊起來為:

raw-image



留言
avatar-img
留言分享你的想法!
avatar-img
Learn AI 不 BI
241會員
927內容數
這裡將提供: AI、Machine Learning、Deep Learning、Reinforcement Learning、Probabilistic Graphical Model的讀書筆記與演算法介紹,一起在未來AI的世界擁抱AI技術,不BI。
Learn AI 不 BI的其他內容
2025/03/12
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 本章的重點在於,原始的 Prompt 匯入 GPT 模型可能效果不好,因此納入 Embedding 資料庫,將此 Prompt 轉成 Embedding,再將此 Emb
2025/03/12
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 本章的重點在於,原始的 Prompt 匯入 GPT 模型可能效果不好,因此納入 Embedding 資料庫,將此 Prompt 轉成 Embedding,再將此 Emb
2025/03/10
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 整理目前手上有的素材: AI說書 - 從0開始 - 338 | Embedding Based Search 資料集描述 AI說書 - 從0開始 - 339 | E
Thumbnail
2025/03/10
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 整理目前手上有的素材: AI說書 - 從0開始 - 338 | Embedding Based Search 資料集描述 AI說書 - 從0開始 - 339 | E
Thumbnail
2025/03/09
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 整理目前手上有的素材: AI說書 - 從0開始 - 338 | Embedding Based Search 資料集描述 AI說書 - 從0開始 - 339 | E
Thumbnail
2025/03/09
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 整理目前手上有的素材: AI說書 - 從0開始 - 338 | Embedding Based Search 資料集描述 AI說書 - 從0開始 - 339 | E
Thumbnail
看更多
你可能也想看
Thumbnail
每次出國旅行,最讓人頭痛的就是要穿什麼? 不同國家的氣候差很大,從零下低溫到艷陽高照,一趟旅程可能要準備兩季的衣服! 這次我整理出我出國最愛帶的 WIWI 輕旅穿搭清單,全部都能在 蝦皮雙11活動 期間用超優惠價格入手,還能同時參加 蝦皮分潤計畫,一邊分享一邊賺旅費 💰 雙11優惠懶人包:
Thumbnail
每次出國旅行,最讓人頭痛的就是要穿什麼? 不同國家的氣候差很大,從零下低溫到艷陽高照,一趟旅程可能要準備兩季的衣服! 這次我整理出我出國最愛帶的 WIWI 輕旅穿搭清單,全部都能在 蝦皮雙11活動 期間用超優惠價格入手,還能同時參加 蝦皮分潤計畫,一邊分享一邊賺旅費 💰 雙11優惠懶人包:
Thumbnail
大家好久不見,趁著連假有時間寫文來分享我這陣子的近況~ 大約 8 月中後的時候,我自己去了一小趟的釜山+福岡獨旅,主要是因為想讓自己沈澱放鬆,也加上自己好久沒有好好休息,所以希望可以有一段自己的時間。 當然,也因為這次是獨自出發,所以身為小小自媒體工作者還是會需要拍照記錄一下生活,所以這次旅程還
Thumbnail
大家好久不見,趁著連假有時間寫文來分享我這陣子的近況~ 大約 8 月中後的時候,我自己去了一小趟的釜山+福岡獨旅,主要是因為想讓自己沈澱放鬆,也加上自己好久沒有好好休息,所以希望可以有一段自己的時間。 當然,也因為這次是獨自出發,所以身為小小自媒體工作者還是會需要拍照記錄一下生活,所以這次旅程還
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經有資料集在 AI說書 - 從0開始 - 103 ,必要的清理函數在 AI說書 - 從0開始 - 104 ,現在把它們湊在一起,如下: # load Eng
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經有資料集在 AI說書 - 從0開始 - 103 ,必要的清理函數在 AI說書 - 從0開始 - 104 ,現在把它們湊在一起,如下: # load Eng
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 先做個總回顧: Transformer 架構總覽:AI說書 - 從0開始 - 39 Attention 意圖說明:AI說書 - 從0開始 - 40 Transfo
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 先做個總回顧: Transformer 架構總覽:AI說書 - 從0開始 - 39 Attention 意圖說明:AI說書 - 從0開始 - 40 Transfo
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 再度回到 Transformer 架構中的 Encoder 部分,如下圖所示: 我現在手上有的素材如下: Embedding 訓練方式:AI說書 - 從0開始
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 再度回到 Transformer 架構中的 Encoder 部分,如下圖所示: 我現在手上有的素材如下: Embedding 訓練方式:AI說書 - 從0開始
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續AI說書 - 從0開始 - 44說完 Embedding ,下一步就是闡述 Positional Embedding,其於原始 Transformer 架構中的角色
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續AI說書 - 從0開始 - 44說完 Embedding ,下一步就是闡述 Positional Embedding,其於原始 Transformer 架構中的角色
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們已經在AI說書 - 從0開始 - 43中,闡述了 Embedding 的訓練方式,現在我們來看是否 Embedding 如我們預期般運作: 假設我的目標句子是
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們已經在AI說書 - 從0開始 - 43中,闡述了 Embedding 的訓練方式,現在我們來看是否 Embedding 如我們預期般運作: 假設我的目標句子是
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續AI說書 - 從0開始 - 22解釋Foundation Model與Engines意涵後,我們來試用看看ChatGPT。 嘗試問以下問題:Provide a
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續AI說書 - 從0開始 - 22解釋Foundation Model與Engines意涵後,我們來試用看看ChatGPT。 嘗試問以下問題:Provide a
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News