NPC-Worldwide/npcpy

The python library for research and development in NLP, multimodal LLMs, Agents, ML, Knowledge Graphs, and more.

What it solves

npcpy 是一個旨在簡化複雜 AI 應用開發的函式庫,提供多模態語言模型、代理式 AI 與知識圖譜的原語。它解決了管理多個 AI 人格、協調多代理團隊,以及在單一框架內整合多樣工具與供應商(本地與雲端)的挑戰。

How it works

此函式庫使用「Context-Agent-Tool」資料層來管理 AI 行為與合規性。它提供多種專門的代理類型:

  • NPC:具備主要指令的人格式代理。
  • Agent:具備預設工具,如 Shell 存取、Python 執行與網路搜尋。
  • ToolAgent:可透過自訂 Python 函式作為工具進行擴充的代理。
  • CodingAgent:自動執行 LLM 產生的程式碼區塊的代理。
  • NPCArray:用於在多個代理間平行推論的工具,支援多代理辯論與迭代精煉。
  • Team:管理 NPC 群組的編排層,可透過程式碼或設定檔(.npc.jinx.ctx)定義。

它亦包含一套知識圖譜系統,具備「睡眠/夢境」生命週期,用於從文字中整合與產生推測性連結,並支援 Model Context Protocol (MCP) 伺服器整合以存取外部工具。

Who it’s for

  • 建構代理式工作流程的 AI 研究者與開發者。
  • 開發多代理模擬或協作 AI 團隊的開發者。
  • 需要統一介面以使用本地(Ollama、llama.cpp)與雲端 LLM 供應商的工程師。

Highlights

  • Multi-Agent Orchestration:透過 Team 類別支援平行辯論、共識建立與複雜委派。
  • Multimodal Capabilities:整合圖像、音訊與影片生成支援。
  • Flexible Tooling:內建 Shell 與 Python 執行工具,並支援自訂工具與 MCP 伺服器。
  • Knowledge Graph Memory:具備獨特的生命週期,用於在知識圖譜中演化、修剪與「夢想」。
  • Provider Agnostic:可與本地供應商(如 Ollama、LM Studio)以及雲端 API 一同使用。