NPC-Worldwide/npcpy

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

它解决了什么

npcpy 是一个旨在简化多模态 AI 应用、代理 AI 和知识图谱开发的库。它提供了一个统一的接口来与各种本地和云端 LLM 提供商交互,减少了上下文工程和多代理编排的复杂性。它还通过其 NPC Context-Agent-Tool 数据层,解决了基于提示的合规与软件强制合规之间的差距。

它的工作方式

此库使用 NPC(非玩家角色)类来定义具有特定指令的角色。它支持多种提供商(包括 Ollama、llama.cpp、Gemini 等),并提供专门的代理类型:

  • Agent & ToolAgent:可以使用默认工具(如 shell、Python 和网络搜索)或自定义 Python 函数作为工具的代理。
  • CodingAgent:自动执行 LLM 生成的代码块的代理。
  • NPCArray:用于运行并行推理和多代理辩论的框架,代理可以批评和改进彼此的回答。
  • 知识图谱:从文本中提取事实和概念的系统,具有“睡眠/做梦”生命周期,用于整合和推测性连接生成。
  • Team:使用配置文件(.npc、.jinx、team.ctx)来定义角色和共享上下文的系统,用于编排多个 NPC。

适用对象

正在构建需要灵活模型提供商切换和结构化记忆系统的复杂 AI 代理、多代理系统和多模态应用的开发人员和研究人员。

亮点

  • 多提供商支持:适用于本地提供商(如 Ollama 和 LM Studio)以及云端提供商(如 Gemini 和 OpenAI)。
  • 多代理编排:通过 Team 类支持并行推理、迭代改进和结构化团队委派。
  • 多模态能力:集成支持图像、音频和视频生成。
  • 结构化输出:内置对 JSON 和 Pydantic 模型的自动解析响应支持。
  • 知识图谱记忆:独特的记忆系统,可增量演进,并使用睡眠/做梦过程来修剪和扩展知识。
  • 可执行配置:能够在基于 YAML 的文件中定义代理和技能(jinxes),并可直接从 shell 执行。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目