我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
- AI說書 - 從0開始 - 327 | Embedding Based Search 問答系統前置作業
- AI說書 - 從0開始 - 328 | Embedding Based Search 選擇模型
- AI說書 - 從0開始 - 329 | Embedding Based Search GPT 的回答
- AI說書 - 從0開始 - 330 | Embedding Based Search 添加知識庫
- AI說書 - 從0開始 - 331 | Embedding Based Search 添加知識庫後的回應
- AI說書 - 從0開始 - 332 | Embedding Based Search Embedded 資料準備
- AI說書 - 從0開始 - 333 | Embedding Based Search Embedded 相似度排序
- AI說書 - 從0開始 - 334 | Embedding Based Search Embedded 相似度排序
- AI說書 - 從0開始 - 335 | Embedding Based Search Embedded 高相似度者當提示
有了 Embedding 檢索高相似度資料,一起加入當 Prompt 後,就可以開始撰寫詢問 GPT 模型的程式:
def ask(query: str, df: pd.DataFrame = df, model: str = GPT_MODEL, token_budget: int = 4096 - 500, print_message: bool = False) -> str:
message = query_message(query, df, model = model, token_budget = token_budget)
if print_message:
print(message)
messages = [{"role": "system", "content": "You answer questions about the 2022 Winter Olympics."},
{"role": "user", "content": message}]
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(model = model,
messages = messages,
temperature = 0)
print(response.choices[0].message.content)
return response.choices[0].message.content
測試句子為:
ask('Which athletes won the gold medal in curling at the 2022 Winter Olympics?')
結果為:

看起來還可以,但是缺了金牌得主資訊:
