Semantica Tutorial 2026:從零部署 Agent Memory

安裝後找不到指令、資料寫入後又不知道是否真的保存:Semantica Tutorial 2026 的最快解法,是先用最小後端跑通「安裝—健康檢查—寫入—查詢—重啟驗證」,確認主線正常後,才加入外部圖資料庫、向量儲存與 LLM。

這篇適合第一次安裝 Semantica 的 Python 開發者、想把對話或文件轉成 Agent Memory 的原型團隊,以及需要建立可重複部署步驟的平台工程師。你不需要一開始就建立完整企業圖譜;先完成一個能驗收的最小案例,排障成本會低得多。

先把第一個驗收目標縮小

第一個目標不要寫成「完成企業 Knowledge Graph」,而要寫成一條可以逐項核對的測試:

  • 輸入兩至三個實體;
  • 建立至少一條有方向的關係;
  • 查回其中一個實體及其鄰接關係;
  • 記下節點數、關係數與來源欄位;
  • 停止程式後重新啟動,再次查詢同一筆資料。

官方文件把 ContextGraph 定位為可查詢的記憶體內知識圖譜,而 AgentContext 則整合記憶、檢索、決策和圖遍歷;這代表你可以先測試圖資料結構,再決定是否需要向量檢索或決策追蹤。Context 模組參考

建議先在一個乾淨目錄工作,並保存三份檔案:

semantica-lab/
├── data/
│   └── sample.json
├── run_first_graph.py
└── logs/

sample.json 可以先使用這種小型輸入:

{
  "entities": [
    {"id": "alice", "type": "Person", "name": "Alice"},
    {"id": "acme", "type": "Organization", "name": "Acme"}
  ],
  "relationships": [
    {"source": "alice", "target": "acme", "type": "works_for"}
  ]
}

這樣的樣例足以測試節點、邊、方向和重複匯入,不會因為資料量太大而掩蓋真正的安裝問題。

第一步:建立隔離環境並核對版本

官方安裝文件列出 Python 3.8 為最低要求,並建議使用 Python 3.11 或更新版本;同一文件也把 Windows、Linux 和 Mac 列為可用作業系統。官方安裝說明

在 Mac 或 Linux 終端機中執行:

mkdir semantica-lab
cd semantica-lab

python3 -m venv .venv
source .venv/bin/activate

python -m pip install --upgrade pip
python -m pip install semantica

Windows PowerShell 則使用:

python -m venv .venv
.venv\Scripts\Activate.ps1

python -m pip install --upgrade pip
python -m pip install semantica

不要一開始使用 semantica[all]。可選依賴會同時引入視覺化、GPU、LLM 或雲端相關元件;只要其中一層的編譯或版本解析失敗,你就很難判斷核心套件是否其實已經正常。

截至 2026 年 8 月 11 日,PyPI 顯示的最新發行版為 0.6.0,而線上快速入門頁仍可看到 0.5.0 的版本示例。這種文件與套件版本不同步的情況,正是為何你必須以本機 __version__ 輸出作為驗收依據,而不能直接複製舊文章的版本判斷。PyPI 發行資訊

python -c "import semantica; print(semantica.__version__)"

若輸出的版本與你預期不同,先記錄版本,不要立即修改程式碼。後續所有 API 測試都應以這個環境為準,否則你可能把版本差異誤判成資料流程錯誤。

第二步:先做 CLI 與健康檢查

核心套件安裝後,先不要寫業務程式。官方 CLI 文件列出一般 CLI、REST 伺服器、背景工作程序、Explorer 和 MCP 等不同入口;不同入口代表不同依賴與排障範圍。CLI 安裝與驗證

先執行:

semantica --help
python -c "import semantica; print(semantica.__version__)"

若你的版本提供 doctor 子命令,再執行:

semantica doctor

官方倉庫的快速驗證示例使用 semantica doctor,用來檢查 Python、Semantica、向量儲存與設定檔等項目。官方 GitHub README

若要驗證 REST 伺服器,先在另一個終端機啟動:

semantica-server

再執行:

curl http://localhost:8000/health
curl http://localhost:8000/api/info

官方 CLI 文件示例預期 /health 回傳狀態資訊,並提供 /docs 互動式 API 文件入口;但這一步只驗證服務入口,不代表圖資料已寫入或可在重啟後恢復。

注意: 如果終端機顯示 command not found,先不要重新安裝所有 extras。確認虛擬環境已啟用,並用 python -m pip install semantica,確保套件安裝到目前 shell 所使用的 Python。

第三步:寫入第一個可查詢圖譜

你可以先不接 LLM,直接使用固定的 entities 和 relationships 測試圖譜建置。官方 Quickstart 使用 GraphBuilder(merge_entities=True),再以 build() 組合實體和關係;這個流程適合做第一個可重複測試。官方 Quickstart:建立 Knowledge Graph

建立 run_first_graph.py

import json
from pathlib import Path
from semantica.kg import GraphBuilder

base = Path(__file__).parent
sample = json.loads((base / "data" / "sample.json").read_text())

builder = GraphBuilder(merge_entities=True)
graph = builder.build(sample)

print("entity_count =", len(graph["entities"]))
print("relationship_count =", len(graph["relationships"]))
print(json.dumps(graph, indent=2, ensure_ascii=False))

執行位置必須是專案根目錄:

python run_first_graph.py | tee logs/first-run.log

你要保存輸出,而不是只看畫面是否「有東西」。至少核對:

  • entity_count 是否與輸入資料的實體數量相符;
  • relationship_count 是否為預期值;
  • 關係的 sourcetargettype 是否被保留;
  • 重新執行相同程式時,輸出是否出現意外增加或合併。

這一步的優點是沒有 API 金鑰,也不依賴外部服務;缺點是它尚未證明文件解析、語意抽取、向量檢索或長期儲存都正常。不要把「圖譜可以建立」誤寫成「完整 Agent Memory 已經完成」。

第四步:加入來源與第一次查詢

完成固定資料測試後,再接入文字或文件。官方範例提供 FileIngestorDocumentParserNERExtractorRelationExtractor,其中 pattern 或 rule 模式可在沒有 LLM API 金鑰的情況下先做基本抽取。

最小文字流程可以整理成:

from semantica.semantic_extract import NERExtractor, RelationExtractor
from semantica.kg import GraphBuilder

text = "Alice works for Acme."

ner = NERExtractor(method="pattern")
entities = ner.extract(text)

rel = RelationExtractor(method="rule")
relationships = rel.extract(text, entities=entities)

graph = GraphBuilder(merge_entities=True).build({
    "entities": entities,
    "relationships": relationships,
})

print(graph)

驗收時不要只看 Explorer 或 HTML 圖形。你應該把查詢結果逐條對回原始輸入,至少確認三件事:

  1. 實體名稱是否被錯誤切分;
  2. 關係方向是否反轉;
  3. 每個事實是否能保留來源或追蹤資訊。

若你需要決策記錄,AgentContext 支援儲存事實、記錄決策、尋找先例和分析決策影響;但這是第二個驗收範圍,應在基本圖譜建置成功後才加入。AgentContext 參考

第五步:重啟後確認持久化與重複寫入

這是最容易被忽略、也最容易造成錯誤承諾的一步。

如果你只建立記憶體內的 ContextGraph,不能把它視為永久儲存。官方 Quickstart 另外示範以 graph_storeGraphBuilder 接到外部圖儲存後端,並說明該圖可在程序重啟後保留。持久化圖儲存示例

你的驗收流程應該是:

A. 匯入 sample.json
B. 記錄節點數、關係數與一筆指定關係
C. 停止 Python 程式或服務
D. 重新啟動相同後端
E. 再次查詢相同節點與關係
F. 重複匯入 sample.json
G. 比較重複前後的節點、關係和衝突結果

重點不是「看起來沒有錯誤」,而是要觀察重複寫入時究竟採用去重、合併、覆蓋還是產生新節點。merge_entities=True 能處理部分重複實體辨識,但你仍然需要用自己的樣例驗證名稱相近、ID 相同和關係衝突等情況。

第六步:第一週再逐層加入外部元件

完成最小流程後,可以按以下順序擴展。每增加一層,就保留上一層的可執行測試與回滾點。

階段 先驗證的內容 不要同時加入
核心圖譜 節點、關係、方向、輸出紀錄 LLM、GPU、外部圖庫
文件流程 解析、實體、關係、來源 大型資料集
Agent Memory 儲存、檢索、對話隔離 MCP 與 REST 一起改
外部圖儲存 連線、權限、重啟恢復 向量索引遷移
LLM 或本地模型 抽取品質、延遲、錯誤重試 生產資料直接匯入
MCP / REST 協定回應、權限與日誌 未驗證的前端介面

官方安裝文件把 GPU、視覺化、LLM provider 和 cloud 列為可選依賴,並建議按需要安裝;因此,先使用核心安裝,再逐層加入 extras,比一次執行 pip install semantica[all] 更容易定位問題。

用這份清單完成第一次部署驗收

  • [ ] 已建立獨立虛擬環境,並確認 pythonpip 指向同一環境。
  • [ ] 已執行 python -c "import semantica; print(semantica.__version__)"
  • [ ] 已執行 semantica --help,確認 CLI 可被目前 shell 找到。
  • [ ] 已準備少量固定 entities 和 relationships。
  • [ ] 已保存第一次執行的輸出日誌。
  • [ ] 已核對節點數、關係數、方向與實體 ID。
  • [ ] 已停止並重新啟動使用中的服務或程式。
  • [ ] 已在重啟後查回同一筆資料。
  • [ ] 已重複匯入一次,並記錄去重或衝突行為。
  • [ ] 只有在以上項目通過後,才開始加入外部圖儲存、向量儲存或 LLM。

對需要反覆重建環境的團隊,你可以先閱讀 Macstripe 幫助中心,把環境變數、安裝日誌和驗收腳本整理成固定操作記錄;若要比較不同部署機器,再參考 Macstripe 的配置訂單頁,將核心版與完整依賴版分開測試。

部署方案與擴展順序對照

方案 適合情境 優點 主要限制
最小本機流程 初次學習、API 原型、介面驗證 依賴少,容易重跑 不等於永久儲存
本機流程加外部圖儲存 需要重啟後保留圖資料 可驗證持久化與權限 需處理連線、帳號和備份
完整 Agent Memory 對話記憶、混合檢索、決策追蹤 可支援較完整的代理工作流 排障面同時包含圖、向量和程式
生產部署 多人使用、服務化、長期資料 可接 REST、MCP 和背景工作 需要日誌、密鑰、回滾和監控

如果安裝失敗,請按順序檢查:Python 版本、虛擬環境、pip 版本、PATH、寫入權限,再檢查可選依賴。遇到依賴錯誤時,先升級 pip、build 和 wheel;若是指令找不到,則用 pip show -f semantica 確認檔案到底安裝在哪個環境。