概要
What is npcpy?
npcpy is a Python library that provides key primitives for research and development with multimodal language models, agentic AI, and knowledge graphs. It offers a flexible framework supporting local providers (Ollama, llama.cpp, ONNX, LM Studio) and cloud models, and includes a Context-Agent-Tool data layer to ensure compliance through software.
How to use npcpy?
Install with pip install npcpy. Then import classes such as NPC, Agent, ToolAgent, CodingAgent, and NPCArray to create personas, run direct LLM calls, build multi-agent teams, or manage knowledge graphs.
Key features of npcpy
- Create and use personas with the
NPCclass - Direct LLM calls via
get_llm_response() - Agents with built-in tools (shell, Python, file editing, web search)
- Custom tool integration with
ToolAgent CodingAgentfor auto‑executing code blocks- Multi‑agent debate and consensus with
NPCArray - Knowledge graph with sleep/dream lifecycle
Use cases of npcpy
- Historical figure simulation (e.g., Simon Bolivar persona for educational Q&A)
- Multi‑agent debate on complex problems (e.g., GSM8k math reasoning)
- Code generation and execution (duplicate file detection, exploratory scripting)
- Fine-tuning and generating images with diffusion models via
ToolAgent - Building evolving knowledge graphs from text corpora
FAQ from npcpy
What LLM providers does npcpy support?
npcpy supports local providers including Ollama, llama.cpp, ONNX, and LM Studio, as well as cloud models (e.g., through Ollama’s cloud API).
How do I install npcpy?
Install it using pip: pip install npcpy.
Does npcpy support multi‑agent setups?
Yes. Use the NPCArray class to create teams of personas that can debate, refine answers, and reach consensus over multiple rounds.
What are the main classes in npcpy?
The main classes are NPC (persona with primary directive), Agent (default tool‑equipped agent), ToolAgent (attach custom tools), CodingAgent (auto‑execute code), and NPCArray (multi‑agent orchestration).
Where does data (e.g., knowledge graphs) live?
Knowledge graphs are stored in‑memory as Python objects; the library does not mention persistent external storage.