運用 WinSurf 自動化建構 LightRAG 的 MCP 伺服器,輕鬆擴充 AI 知識庫

,

在現今的 AI 應用中,許多開發者與使用者發現,部分輔助工具在處理特定任務時,可能出現效能下降或無法滿足需求的情況。例如,有使用者反映 Cursor 在處理簡單程式碼時偶爾會出錯。因此,尋找更穩定、更強大的替代方案成為當務之急。本文將介紹如何利用創新的開發工具 WinSurf,為先進的檢索增強生成(RAG)系統 LightRAG 打造專屬的 MCP 伺服器(MCP Server),進而將外部知識庫無縫整合至 Claude 桌面版及 AutoGen 智能體框架中。

為何選擇 LightRAG 作為知識庫核心?

LightRAG 並非傳統的 RAG 框架。它是一個基於圖結構的先進檢索增強生成系統,具備以下突出優勢:

  • 知識圖譜整合:透過建構知識圖譜,優化文本索引與檢索過程。
  • 向量與結構融合:結合向量相似性與結構化關係,提升資訊的連貫性與深度。
  • 增量更新:支援知識庫的增量更新,有效降低重複計算的成本。
  • 複雜情境優勢:在處理複雜資訊檢索與跨文件推理方面,表現顯著優於傳統 RAG。

平時我們使用 Claude 桌面版或 AutoGen 等智能體框架時,常需要分析特定技術文件或在指定文檔範圍內進行精準檢索。若每次都手動上傳或複製貼上大量文檔,不僅效率低落,也相當不便。將 LightRAG 打造成一個可供外部應用呼叫的服務,特別是透過標準化的 MCP 伺服器接口,便能完美解決這個痛點,讓 AI 工具輕鬆存取我們自訂的知識庫

WinSurf:自動化 MCP 伺服器開發的利器

傳統上,為一個系統(如 LightRAG)開發伺服器接口(例如 MCP 伺服器)需要編寫不少程式碼。然而,藉助 WinSurf 這款強大的 AI 開發輔助工具,整個過程可以被高度自動化。我們只需提供清晰的指令和相關上下文,WinSurf 就能為我們生成、甚至調試所需的伺服器代碼。

實戰教學:從零開始建構 LightRAG MCP 伺服器

接下來,我們將詳細演示如何使用 WinSurf,將 LightRAG 封裝成一個功能完整的 MCP 伺服器

#### 第一步:安裝 LightRAG 並建構本地知識庫

在開始之前,請確保您已從 WinSurf 官網下載並安裝好 WinSurf。

  1. 設定環境與安裝 LightRAG

    • 首先,在 WinSurf 或您的本機終端機中設定好專案路徑。
    動作 建議指令 (以 Linux/macOS 為例) 說明
    建立並進入專案目錄 mkdir my_LightRAG_project && cd my_LightRAG_project 建立一個新的資料夾來存放專案檔案
    建立虛擬環境 python3 -m venv venv 建立獨立的 Python 執行環境
    啟用虛擬環境 source venv/bin/activate 啟用此獨立環境
    下載 LightRAG 原始碼 git clone <LightRAG_Repo_URL> 從 Git 倉庫複製 LightRAG 程式碼
    進入 LightRAG 目錄 cd LightRAG 切換到 LightRAG 的程式碼目錄
    安裝 LightRAG pip install -e . 安裝 LightRAG 及其所有必要的依賴套件
    返回專案根目錄 cd .. 回到專案的上一層目錄
  2. 準備 LightRAG 設定腳本

    • 建立一個 Python 檔案(例如 setup_LightRAG.py)。
    • 貼入以下範例程式碼(請根據您的需求調整):
    import os
    from LightRAG import LiTrack, VectorStoreConfig # 假設導入方式如此,請依實際 LightRAG 版本調整
    
    # 設定工作目錄
    work_dir = "./my_LightRAG_storage" # 指定 LightRAG 存放索引等數據的目錄
    os.makedirs(work_dir, exist_ok=True)
    
    # 初始化 LightRAG (使用 GPT-4o mini)
    # 注意:若使用 OpenAI 模型,需設定環境變數 OPENAI_API_KEY
    # export OPENAI_API_KEY='YOUR_API_KEY' (Linux/macOS)
    # set OPENAI_API_KEY=YOUR_API_KEY (Windows)
    litrack = LiTrack(
        work_dir=work_dir,
        vector_store_config=VectorStoreConfig(), # 使用預設向量儲存設定
        llm_config={"model": "gpt-4o-mini"} # 指定使用 GPT-4o mini
        # 若使用 Ollama,可參考以下設定 (需先運行 Ollama 並下載模型)
        # llm_config={"model": "ollama/phi3:mini", "api_base": "http://localhost:11434/v1"},
        # embedding_config={"model": "ollama/bge-m3", "api_base": "http://localhost:11434/v1"}
    )
    
    # 載入文件建構知識庫
    # 將您的文件 (例如 llama3_report.pdf) 放到專案目錄下
    document_path = "./llama3_report.pdf" # 替換成您的文件路徑
    litrack.add_documents([document_path])
    
    print("知識庫建構完成。")
    
    # 測試檢索 (可選) - LightRAG 支援多種檢索模式
    query = "請說明 Llama 3 的數據質量控制流程"
    # response_naive = litrack.search(query, mode="naive")
    # response_local = litrack.search(query, mode="local")
    # response_global = litrack.search(query, mode="global")
    response_hybrid = litrack.search(query, mode="hybrid") # 混合模式通常效果較佳
    
    print("混合模式檢索結果:")
    print(response_hybrid)
    
  3. 放置知識庫文件:將您想要建立知識庫的文件(例如,關於 Llama 3 的技術報告 PDF)放置到專案的根目錄下。

  4. 執行腳本:若使用 OpenAI 模型,請先設定您的 API Key。然後在已啟用虛擬環境的終端機中執行 python setup_LightRAG.py。這會初始化 LightRAG 並將您的文件處理成可供檢索的知識庫

#### 第二步:利用 WinSurf 自動生成 MCP 伺服器

  1. 準備提示詞文件 (Markdown)

    • 在 WinSurf 中,建立一個 Markdown 文件(例如 task_create_mcp.md)。
    • 將詳細的指令寫入此文件。這份文件是引導 WinSurf 為我們工作的關鍵。內容應包含:
      • 任務描述:明確告知 WinSurf 要為 LightRAG 建構一個 MCP 伺服器,該伺服器需能接收任意查詢文本,並使用 LightRAG 的不同檢索模式(Naive, Local, Global, Hybrid)進行搜索。
      • 專案路徑:提供您剛才建立的 LightRAG 專案的完整絕對路徑(可使用 pwd 命令查看)。
      • 環境設定:指示 WinSurf 需要先進入專案路徑,並啟用之前建立的 Python 虛擬環境 (venv)。同時提醒需要設定 OpenAI API Key(如果適用)。
      • 參考程式碼:貼上您剛才編寫並成功運行的 setup_LightRAG.py 的內容。
      • 預期互動/輸出:可以貼上一段執行 setup_LightRAG.py 後終端機顯示的完整日誌和輸出範例,幫助 WinSurf 理解初始化和檢索過程。
      • MCP 伺服器規範:引用或提供 MCP 伺服器 的相關技術文件或規範鏈接,讓 WinSurf 知道要生成符合標準的接口。
  2. 執行 WinSurf 命令

    • 在 WinSurf 的輸入框中,輸入指令:execute @task_create_mcp.md (將 task_create_mcp.md 替換成您建立的 Markdown 文件名)。
    • 點擊發送。WinSurf 會開始分析您的提示詞文件,理解需求,並自動編寫 MCP 伺服器 的 Python 程式碼。
    • 過程中,WinSurf 可能會要求執行某些命令(如安裝依賴、運行腳本),請仔細確認並允許。如果遇到錯誤,WinSurf 通常會嘗試自動修復。
    • 這個過程可能需要幾分鐘,WinSurf 會不斷迭代、修正程式碼,直到成功建立並運行 MCP 伺服器

#### 第三步:整合 MCP 伺服器至 Claude 桌面版

  1. 編輯 Claude 設定檔
    • 打開 Claude 桌面版的設定 (Settings) → 開發者 (Developer) → 編輯設定檔 (Edit Configuration File)。
    • 找到與 MCP 伺服器 相關的設定區塊。
    • 將 WinSurf 生成的 MCP 伺服器的相關資訊(通常是伺服器運行的地址和端口,以及可能需要的認證資訊)填入設定檔中。確保設定檔中指向的專案路徑是正確的。如果您使用 OpenAI,也需在此處配置 API Key。
  2. 重新啟動 Claude:儲存設定檔並重新啟動 Claude 桌面版。
  3. 測試:在 Claude 桌面版中,您應該能看到新增的 LightRAG MCP 伺服器選項。嘗試發送一個查詢(例如:“使用 LightRAG 的 NaiveSearch 模式搜索數據質量控制流程,並用中文回答”),Claude 會呼叫您本地運行的 MCP 伺服器,從您的 LightRAG 知識庫中檢索資訊並回答。

#### 第四步:整合 MCP 伺服器至 AutoGen 智能體框架

  1. 安裝依賴:確保您的 Python 環境中已安裝 AutoGen 以及與 MCP 伺服器 溝通所需的庫。可能需要執行類似 pip install pyautogen autogen-mcp-client(具體套件名稱可能不同)的命令。

  2. 編寫 AutoGen 腳本

    • 建立一個新的 Python 腳本。
    • 在腳本中導入 AutoGen 和 MCP 伺服器 客戶端相關的庫。
    • 設定環境變數(如 OpenAI API Key)。
    • 配置 AutoGen Agent,使其知道如何與您的 LightRAG MCP 伺服器 溝通(通常是透過指定伺服器地址和使用的工具/函數名稱)。
    • 定義任務,例如要求 Agent 使用指定的 LightRAG 檢索工具(透過 MCP 伺服器)來查詢您的知識庫
    • 以下為概念性範例程式碼:
    import autogen
    from autogen.agentchat.contrib.mcp import MCPClient, register_mcp_tools # 假設有此類庫
    
    # 設定 API Key
    config_list = autogen.config_list_from_json(
        "OAI_CONFIG_LIST",
        filter_dict={"model": ["gpt-4o-mini"]},
    )
    openai_api_key = config_list[0].get("api_key") # 或直接設定 os.environ["OPENAI_API_KEY"]
    
    # 設定 MCP 伺服器地址
    mcp_server_address = "http://localhost:8000" # WinSurf 告知的伺服器地址
    
    # 初始化 MCP 客戶端並註冊工具
    mcp_client = MCPClient(base_url=mcp_server_address)
    available_tools = mcp_client.list_tools() # 獲取伺服器提供的工具列表
    # 假設工具名類似 'LightRAG_naive_search', 'LightRAG_hybrid_search'
    
    # 創建 AutoGen Agent
    llm_config = {"config_list": config_list, "cache_seed": 42}
    user_proxy = autogen.UserProxyAgent(
       name="UserProxy",
       system_message="使用者代理。",
       code_execution_config={"work_dir": "coding"},
       human_input_mode="TERMINATE"
    )
    assistant = autogen.AssistantAgent(
        name="Assistant",
        llm_config=llm_config,
        system_message="你可以調用 LightRAG MCP 工具來查詢知識庫。"
    )
    
    # 將 MCP 工具註冊給 Assistant Agent
    register_mcp_tools(assistant, mcp_client, tool_names=['LightRAG_hybrid_search']) # 註冊你想用的工具
    
    # 定義任務
    task = "使用 LightRAG 的 Hybrid Search 工具搜索 Llama 3 的數據質量控制流程,並用中文總結。"
    
    # 開始對話
    user_proxy.initiate_chat(
        assistant,
        message=task
    )
    
  3. 執行腳本:運行此 Python 腳本。AutoGen Agent 將會透過 MCP 伺服器 與您的 LightRAG 知識庫 互動,完成指定的查詢任務。

結論:賦予 AI 工具無限知識潛能

透過 WinSurf 自動化建構 LightRAG 的 MCP 伺服器,我們成功地將本地或特定的知識庫無縫接入了像 Claude 桌面版和 AutoGen 這樣的強大 AI 工具中。這意味著:

  • 無需編碼即可擴展:即使不編寫一行伺服器代碼,也能為 AI 工具添加外部知識庫能力。
  • 提升 AI 應用深度:讓 AI 能夠基於特定領域的專業知識進行回答和推理。
  • 標準化接口:建立的 MCP 伺服器 可被任何支援該標準的客戶端(不僅限於 Claude 或 AutoGen)調用。
  • 效率提升:避免了重複上傳文檔或在不同工具間切換的麻煩。

WinSurf 的出現極大地簡化了這類整合工作的複雜性,讓開發者和進階使用者能更專注於應用本身,而非底層的接口開發。這項技術為個人化和企業級 AI 應用開啟了更廣闊的可能性,讓 AI 真正成為我們強大的知識助手。


免責聲明:本文所述的具體指令、程式碼和庫名稱可能隨 WinSurf、LightRAG、Claude、AutoGen 等工具的版本更新而變化,請以官方文件為準。

想要深入了解如何運用先進的 AI 技術提升您的業務效能嗎?Tenten AI 是專業的 AI 解決方案提供商,我們的團隊具備豐富的 LightRAG、WinSurf 等尖端 AI 技術整合經驗。無論是建構企業知識庫、優化檢索系統,還是客製化 AI 應用開發,我們都能為您提供最適切的解決方案。

立即預約免費諮詢會議,讓我們協助您實現 AI 轉型之路!