小而可嵌入
Session + Agent + 工具 — 不带文件编辑、终端或 MCP,循环由你掌控。
选一个模型标签,设置对应 API Key,保存为 demo.py,运行 python demo.py。模型会按需调用 @tool,答案在 result.content。
import asyncio
import os
from pagent import LLM, Agent, Session, tool
@tool()
def get_weather(city: str) -> str:
"""Return weather for the city."""
return f"Sunny in {city} today."
async def main():
if not os.getenv("OPENAI_API_KEY"):
raise SystemExit("Set OPENAI_API_KEY first.")
agent = Agent(
llm=LLM("gpt-4o-mini"),
session=Session("You are helpful. Use tools when needed."),
tools=[get_weather],
max_turns=8,
)
result = await agent.run("What's the weather in Xiamen?")
print(result.content)
asyncio.run(main())import asyncio
import os
from pagent import Agent, DeepSeek, Session, tool
@tool()
def get_weather(city: str) -> str:
"""Return weather for the city."""
return f"Sunny in {city} today."
async def main():
if not os.getenv("DEEPSEEK_API_KEY"):
raise SystemExit("Set DEEPSEEK_API_KEY first.")
agent = Agent(
llm=DeepSeek("deepseek-chat"),
session=Session("You are helpful. Use tools when needed."),
tools=[get_weather],
max_turns=8,
)
result = await agent.run("What's the weather in Xiamen?")
print(result.content)
asyncio.run(main())import asyncio
import os
from pagent import LLM, Agent, Session, tool
@tool()
def get_weather(city: str) -> str:
"""Return weather for the city."""
return f"Sunny in {city} today."
async def main():
if not os.getenv("ANTHROPIC_API_KEY"):
raise SystemExit("Set ANTHROPIC_API_KEY first.")
agent = Agent(
llm=LLM(
"claude-sonnet-4-20250514",
base_url="https://api.anthropic.com/v1",
apikey=os.getenv("ANTHROPIC_API_KEY"),
),
session=Session("You are helpful. Use tools when needed."),
tools=[get_weather],
max_turns=8,
)
result = await agent.run("What's the weather in Xiamen?")
print(result.content)
asyncio.run(main())import asyncio
import os
from pagent import LLM, Agent, Session, tool
@tool()
def get_weather(city: str) -> str:
"""Return weather for the city."""
return f"Sunny in {city} today."
async def main():
if not os.getenv("MOONSHOT_API_KEY"):
raise SystemExit("Set MOONSHOT_API_KEY first.")
agent = Agent(
llm=LLM(
"kimi-k2.5",
base_url="https://api.moonshot.cn/v1",
apikey=os.getenv("MOONSHOT_API_KEY"),
),
session=Session("You are helpful. Use tools when needed."),
tools=[get_weather],
max_turns=8,
)
result = await agent.run("What's the weather in Xiamen?")
print(result.content)
asyncio.run(main())示例输出:Sunny in Xiamen today.(以模型实际返回为准)。更多见 模型与 API Key。
仓库还提供较新的类型化 API,围绕 Provider、Message、Runner, 以及可选的 sandbox 执行环境。