我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
整理目前手上有的素材:
有了資料集的描述,就可以來進行資料清洗與整備,首先匯入需要的依賴:
import pandas as pd
import tiktoken
from openai.embeddings_utils import get_embedding
再準備 Embedding 模型:
embedding_model = "text-embedding-ada-002"
embedding_encoding = "cl100k_base" # this is the encoding for text-embedding-ada-002
max_tokens = 8000 # the maximum for text-embedding-ada-002 is 8191
注意,text-embedding-ada-002 模型沒有自己的編碼基礎,它依賴 cl100K 基底,cl100K 基礎是一組預先訓練的字詞嵌入,用於初始化 text-embedding-ada-002 模型,該模型學習如何使嵌入適應特定任務。
接著進行資料清洗與整備:
input_datapath = "/content/Reviews.csv"
df = pd.read_csv(input_datapath, index_col = 0)
df = df[["Time", "ProductId", "UserId", "Score", "Summary", "Text"]]
df = df.dropna()
df["combined"] = (
"Title: " + df.Summary.str.strip() + "; Content: " + df.Text.str.strip()
)
df.head(10)
資料格式為: