iT邦幫忙

2025 iThome 鐵人賽

DAY 28
0
生成式 AI

AI 給我錢錢錢 ! AI 股神養成計劃系列 第 28

Day 28:進階強化:串接向量資料庫做更聰明的記憶

  • 分享至 

  • xImage
  •  

在過去的幾天裡,我們的 AI 報告都是 一次性生成,分析完就結束。
但如果我今天查了 AAPL,明天查了 TSLA,AI 並不會記得我昨天的分析。

👉 解決辦法:讓 AI 拿到「自己的記憶」,把過去的分析記錄下來,之後再查詢時可以回顧與延伸。

這正是 向量資料庫 (Vector Database) 的用途。

核心概念

  1. 向量化 (Embedding):把文字(例如投資報告)轉換成數字向量。

  2. 相似度搜尋 (Similarity Search):當我們問「這家公司過去的分析是什麼?」時,向量資料庫能找到最相關的紀錄。

  3. AI + 記憶:我們再把這些過去的紀錄丟回 LLM,讓它能「有記憶地」回答。

常見的向量資料庫:

  • FAISS(Facebook 開源,輕量、好上手)

  • Pinecone(雲端,適合大量資料)

  • Weaviate / Milvus(開源,進階應用)

今天的實作,我們用 FAISS + Gemini API,方便在 Google Colab 執行。

建立向量資料庫並儲存投資報告

python
!pip install faiss-cpu google-generativeai

import faiss
import numpy as np
import google.generativeai as genai

# 設定 Gemini
genai.configure(api_key="YOUR_GEMINI_API_KEY")
embed_model = "models/embedding-001"

# 建立 FAISS index(128 維度示範,實際會依 embedding 向量維度調整)
dimension = 768
index = faiss.IndexFlatL2(dimension)

# 模擬存放的投資報告
reports = [
    "AAPL:蘋果營收持續成長,iPhone 銷售表現亮眼。",
    "TSLA:特斯拉交付量低於市場預期,股價短期承壓。",
    "MSFT:微軟雲端 Azure 業績超乎預期,AI 投資持續推進。"
]

# 轉換成向量並存入資料庫
vectors = []
for r in reports:
    emb = genai.embed_content(model=embed_model, content=r)
    vec = np.array(emb["embedding"], dtype="float32")
    vectors.append(vec)

vectors = np.vstack(vectors)
index.add(vectors)

print("✅ 已建立向量資料庫,共存入", index.ntotal, "筆資料")

查詢「AI 記憶」

現在,如果問「請回顧 AAPL 的分析紀錄」,我們就能從資料庫找到最相關的內容。

python
query = "請回顧 AAPL 的分析紀錄"
emb = genai.embed_content(model=embed_model, content=query)
query_vec = np.array(emb["embedding"], dtype="float32")

# 搜尋最相關的紀錄
D, I = index.search(np.array([query_vec]), k=2)
print("🔎 查詢結果:")
for i in I[0]:
    print("-", reports[i])

AI + 記憶的綜合回答

我們再把結果交給 Gemini,讓它生成「有記憶」的分析。

python
retrieved_reports = [reports[i] for i in I[0]]

prompt = f"""
以下是過去的投資分析紀錄:
{retrieved_reports}

請根據這些紀錄,提供一份針對 AAPL 的回顧與延伸解讀。
"""

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content(prompt)

print("🧠 AI 有記憶的回應:")
print(response.text)

執行結果

https://ithelp.ithome.com.tw/upload/images/20250912/2016944498QupLLIBS.png

結語

今天我們讓 AI 報告從「一次性」進化到「有記憶」。
透過 向量資料庫 + LLM,它能回顧過去的分析、做延伸解讀,未來甚至可以做「個人化投資助理」,根據你的持股紀錄來提醒風險。
👉 明天(Day 29),我們將回顧這 30 天的旅程,把學到的 AI 投資思維與技術重新整理,並思考如何應用到日常投資策略中。


上一篇
Day 27:接上 LINE/Telegram,投資資訊隨身帶著走
系列文
AI 給我錢錢錢 ! AI 股神養成計劃28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言