轻量级多模式 Agent 构建框架,支持函数/模块/MCP 三通道工具注册、知识图谱记忆、多层护栏及自主多 Agent 团队协作。
vinagent 是一个面向跨行业智能助手场景的轻量级 Agent 构建框架,基于 LangChain 兼容的 LLM 抽象层,通过 description/skills/tools 三维配置快速定义 Agent 角色。
调用模式#
框架提供同步、异步、流式、图执行四种调用模式,执行器与 Agent 核心解耦:InvokeExecutor、AsyncInvokeExecutor、StreamInvokeExecutor、AsyncStreamInvokeExecutor、GraphExecutor。
工具注册体系#
- Function Tool:运行时通过
@agent.tools_manager.register_function_tool装饰器动态注册 - Module Tool:Python 模块文件放入
vinagent.tools/,按模块路径扫描加载(内置 websearch_tools、yfinance_tools、deepsearch、trending_news 等) - MCP Tool:通过
DistributedMCPClient接入外部 MCP 服务器(Google Drive、Gmail、Slack、Notion、Spotify 等)
消息抽象#
通过 AIMessage(纯文本)与 ToolMessage(含 artifact 字段)区分回复类型,artifact 可直接承载 DataFrame、Plotly 图表等富数据对象,上层应用可直接渲染。
多 Agent 系统#
- v0.0.6+:静态 Workflow 多 Agent 通信协作
- v0.0.9:自主多 Agent 团队——自动任务规划、分配执行、结果聚合
记忆与护栏#
- Knowledge Graph Agent Memory(v0.0.6+):将对话历史转化为知识图谱
- Guardrail 系统(v0.0.7+):Input / Output / Tools 三层护栏校验
扩展集成#
- Agentskill 模板作为
agentskill工具类型集成 - MLflow 实验追踪(
vinagent/mlflow/) - OAuth2 认证扩展(
vinagent/oauth2/) - SQL 数据库扩展(
vinagent/extension/sql_database)
典型场景#
金融分析(股票数据获取 + Plotly 可视化)、实时新闻聚合与摘要(多语言支持)、深度信息搜索、跨平台工具调用(MCP 生态)。
快速开始#
pip install vinagent
from langchain_openai import ChatOpenAI
from vinagent.agent.agent import Agent
from dotenv import load_dotenv
load_dotenv()
llm = ChatOpenAI(model="gpt-4o-mini", temperature=0.7)
agent = Agent(
description="You are a Financial Analyst",
llm=llm,
skills=["Deeply analyzing financial markets", "Searching information about stock price"],
tools=["vinagent.tools.websearch_tools", "vinagent.tools.yfinance_tools"],
)
message = agent.invoke("What is the price of Tesla stock in 2024?")