快速入门
本快速入门将带你从简单设置到构建一个功能完整的 AI Agent,仅需几分钟。
以下Agent需要你在终端设置
LLM_API_KEY,LLM_BASE_URL
构建最简单的Agent
python
from violet_agents import SimpleAgent
from violet_agents import VioletAgentsLLM
agent = SimpleAgent(
name="helloAgent",
llm=VioletAgentsLLM(provider="deepseek"),
system_prompt="你是一个简单的助手,直接回答用户的问题,不进行复杂的思考和计划。"
)
response = agent.run("你好,1 + 1 等于多少?")
print(response.content)如果你想要实现会话隔离?尝试with agent.session():
python
from violet_agents import SimpleAgent
from violet_agents import VioletAgentsLLM
agent = SimpleAgent(
name="helloAgent",
llm=VioletAgentsLLM(provider="deepseek", model="deepseek-v4-flash"),
system_prompt="你是一个简单的助手,直接回答用户的问题,不进行复杂的思考和计划。"
)
with agent.session("user-123"):
response = agent.run("你好,我叫Violet")
print(response.content)
with agent.session("user-456"):
response = agent.run("你好,我叫ByteKnight")
print(response.content)有手脚的ReactAgent
如果想让你的Agent能调用Tool工具,你可以参考以下内置Tool注册:
python
from violet_agents import ReactAgent
from violet_agents import VioletAgentsLLM
from violet_agents import ToolRegistry
from violet_agents import SkillsTool, TerminalTool
tool_registry = ToolRegistry()
tool_registry.register_tools(SkillsTool(), TerminalTool())
agent = ReactAgent(
name="VioletAgent",
llm=VioletAgentsLLM(provider="deepseek", model="deepseek-v4-flash"),
tool_registry=tool_registry
)
response = agent.run("今天北京多少度?")不想每次都传全部工具列表给LLM?试试注册延迟工具(ToolRegistry中使用register_tools(..., is_defer=True)注册延迟工具,并注册SearchToolsTool为普通工具):
python
from violet_agents import ReactAgent
from violet_agents import VioletAgentsLLM
from dotenv import load_dotenv
from violet_agents import ToolRegistry
from violet_agents import SkillsTool, TerminalTool
from violet_agents import DefaultApprovalTool
tool_registry = ToolRegistry()
tool_registry.register_tools(SkillsTool(), SearchToolsTool(get_deferTools_callback=tool_registry.get_defer_tools, search_strategy="subAgent"))
tool_registry.register_tool(TerminalTool(), is_defer=True)
agent = ReactAgent(
name="VioletAgent",
llm=VioletAgentsLLM(provider="deepseek", model="deepseek-v4-flash"),
tool_registry=tool_registry
)
response = agent.run("看看我当前文件夹有什么文件?")
print(response.content)如果想要调用前经过你的检查,你可以在实例化ToolRegistry时传入ApprovalTool实现类:
python
from violet_agents import ReactAgent
from violet_agents import VioletAgentsLLM
from dotenv import load_dotenv
from violet_agents import ToolRegistry
from violet_agents import SkillsTool, TerminalTool
from violet_agents import DefaultApprovalTool
tool_registry = ToolRegistry(DefaultApprovalTool(require_approval_tools=[TerminalTool],
max_attempts=5,
auto_approve_if_no_rules=True))
tool_registry.register_tools(SkillsTool(), SearchToolsTool(get_deferTools_callback=tool_registry.get_defer_tools, search_strategy="subAgent"))
tool_registry.register_tool(TerminalTool(), is_defer=True)
agent = ReactAgent(
name="VioletAgent",
llm=VioletAgentsLLM(provider="deepseek", model="deepseek-v4-flash"),
tool_registry=tool_registry
)
response = agent.run("看看我当前文件夹有什么文件?")
print(response.content)想在不修改原有主体逻辑的前提下,插入自定义行为?试试Hook钩子事件(agent.register_session_hook())
python
from violet_agents import ReactAgent
from violet_agents import VioletAgentsLLM
from dotenv import load_dotenv
from violet_agents import ToolRegistry
from violet_agents import SkillsTool, TerminalTool
from violet_agents import DefaultApprovalTool
tool_registry = ToolRegistry(DefaultApprovalTool(require_approval_tools=[TerminalTool],
max_attempts=5,
auto_approve_if_no_rules=True))
tool_registry.register_tools(SkillsTool(), SearchToolsTool(get_deferTools_callback=tool_registry.get_defer_tools, search_strategy="subAgent"))
tool_registry.register_tool(TerminalTool(), is_defer=True)
agent = ReactAgent(
name="VioletAgent",
llm=VioletAgentsLLM(provider="deepseek", model="deepseek-v4-flash"),
tool_registry=tool_registry
)
agent.register_session_hook("TurnStart", lambda text: print(f"Turn started with input: {text}"))
agent.register_session_hook("TurnEnd", lambda response: print(f"Turn ended with response: {response.content}"))
response = agent.run("看看我当前文件夹有什么文件?")
print(response.content)