本次實作將僅展示有關功能實現部份的程式碼及輸出結果~ 從圖片擷取文字(Image to Text)這裡我們將使用Groq API實作圖片中文字辨識功能。將圖...
什麼是多模態資料處理(Multimodal Data Processing)?模態(modality)指的是資料的表現形式或感官來源。所以多模態資料處理就是同時...
為什麼要做Defensive Prompt?我們在前兩篇有講到,LLM容易被誘導(jailbreak / prompt injection)後,在不該回答的情況...
為什麼會發生Jailbreak? 造成Jailbreak攻擊成功的原因主要有兩個: 模型在訓練階段沒有接觸足夠的惡意樣本,導致不懂得分辨能答與不能答的邊界。...
當我們在使用LLM時,除了希望它能夠理解與生成內容,更重要的是它能抵禦Malicious Attack(惡意攻擊)。 Malicious Attack是指什麼...
上一篇我們提到,當我們想判斷評估模型回答得好不好時,可以利用Benchmark來觀察模型獲得的Evaluation score。不過要注意的是,分數雖然是量化表...
在AI模型開發的過程中,我們不只要讓模型會說話,更要知道它說得好不好。這就牽涉到模型的Evaluation(評估)。而評估的核心,就是透過一系列標準化測試來驗證...
這一篇主要要介紹,如何在Hugging Face上挑選適合自己應用的開源AI模型。面對上千個不同版本的Llama、Mistral、Gemma、Phi等等模型,我...
安裝必要套件 初始化Embedding模型與文件 進行語意查詢與篩選 輸出結果可以看到,雖然我們的查詢是中文句子,FAISS仍能根據語意比對出中英文食物...
FAISS(Facebook AI Similarity Search)是一個用來快速搜尋相似向量的資料庫系統。由Meta(Facebook)開發,能在數百萬甚...
在RAG系統裡,Embedding是分開編碼(Bi-Encoder),是靠向量相似度找出語意接近的文件。但這種方法只會算查詢與每個句子的整體語意相似度,並不會精...
前一篇我們認識了Embedding是什麼,接下來我們要實際把文字轉成向量,並且用語意相似度進行搜尋,看看電腦是否真的能理解文字的意思! 安裝LangChain...
Embedding (向量化)是把文字轉換成電腦能理解的數字向量的過程。 為什麼我們需要Embedding?因為電腦只懂數字,不懂文字。假如要讓AI判斷以下兩...
Chunking(文字切片)指的是把一大段文字依照一定規則切成小段。 在RAG系統中,我們常會放入很長的文件,例如一整本手冊、醫療報告、課程講義……但是LLM...
RAG(Retrieval-Augmented Generation)是檢索式生成模型的縮寫。它的目的,是讓LLM能夠查資料與引用外部知識來回答問題,解決模型忘...
在這篇中,我們要實際操作LangChain的Agent,並且讓模型同時具備搜尋與運算能力。這裡我們會使用:ChatOllama作為LLM,DuckDuckGo搜...
Agent(智能代理)就是讓模型根據指令,自動決定要使用哪個工具、查什麼資料、做什麼動作,最後再回覆結果。 舉例來說:如果問「幫我查今天台北的天氣,再幫我換算...
LangChain是一個開源框架,能讓我們更容易使用LLM來開發應用。它的核心目標是讓你可以把模型、資料、工具整合起來,形成一個可互動的智慧系統。可以想像成是A...
前面我們都是使用model.generate來做文字接龍,雖然這樣能掌握完整流程(例如token編碼、解碼、Top-k抽樣等),但在實務上,如果只是要快速建立聊...
多輪對話(Multi-turn Conversation):是多個一輪對話連續組成,並且彼此有上下文關聯。 實作可持續聊天的多輪對話讓模型做多輪對話的關鍵就是...
一輪對話(One-turn Conversation):使用者輸入一個prompt,AI回覆一句話。這是最基本的互動模式,沒有上下文記憶,也就是說,每次問問題,...
在前一篇中,我們學會了讓模型依照prompt一次接出多個字,但那樣的生成是固定的,模型永遠會選機率最高的那個token,接下來我們來改變生成策略,讓模型依照機率...
在前一篇,我們認識並學會了使用Chat Template讓模型能理解誰在說話。但模型要真正開口說話,就需要進入生成階段。這一篇,我們要來了解模型是如何一步一步預...
Chat Template(對話模板)用來規範整個對話格式,幫助我們明確告訴模型,哪段是system prompt(系統提示)、哪段是user prompt(使...
Prompt就是我們給模型的指令,可能是一句話、幾段描述、或包含範例的模板。我們跟AI說:「幫我寫一段自我介紹。」這句話就是所謂的User prompt。如果想...
透過tokenizer.encode這個函數將文字轉換為對應的token編號。(Encode會自動加代表句子起始的符號(begin of text),不要它顯示...
LLM無法直接理解文字,因此我們需要先將文字轉換成數字(Token)。Tokenization就是這個轉換過程,且不同模型會有不同的規則。 我們可以用toke...
首先要先安裝Transformers套件。 再來要登入HuggingFace Hub。(需先取得Hugging Face的Token) 接著我們要選擇欲使...
LLM是一種利用深度學習(Deep Learning)的模型,用來預測下一個字(Token)。 例如:輸入:「我今天想去」→模型可能預測「吃飯」或「圖書館」...
NLP(Natural Language Processing,自然語言處理)是一個讓電腦理解、分析、生成人類語言的人工智慧技術。 為什麼需要NLP?人類語言...