Generate agents that belongs to your company.
The Agent class is the core agent implementation in Upsonic, providing a powerful and flexible interface for creating AI agents with advanced capabilities including memory management, safety policies, reliability layers, and sophisticated tool integration.
Overview
The Agent can be created with minimal configuration or with extensive customization to suit your specific needs. The agent provides a robust foundation for AI-powered applications with built-in support for various advanced features.
Key Features
- Memory Management: Built-in support for session memory, user profiles, and conversation history
- Safety Policies: Configurable user and agent policies for content filtering and validation
- Reliability Layer: Advanced hallucination prevention and content validation
- Tool Integration: Sophisticated tool processing with behavioral wrappers
- Thinking & Reasoning: Optional advanced reasoning capabilities for complex tasks
- Multi-Model Support: Works with OpenAI, Anthropic, Google, and others!
- Streaming: Real-time response streaming for better user experience
- Caching: Built-in caching system for improved performance
- Canvas Integration: Support for persistent text editing and collaboration
Example
Basic Example
from upsonic import Agent, Task
# Create an agent
agent = Agent("openai/gpt-4o")
# Execute with Task object
task = Task("What is 2 + 2?")
result = agent.do(task)
print(result) # Output: 4
# Or execute directly with a string (auto-converted to Task)
result = agent.do("What is 2 + 2?")
print(result) # Output: 4
When creating an agent without specifying a model, it defaults to "openai/gpt-4o". Make sure you have the appropriate API key set in your environment.
Deep Agent Example
import asyncio
from upsonic.agent.deepagent import DeepAgent
from upsonic import Task
async def main():
# Create a deep agent
agent = DeepAgent(model="openai/gpt-4o")
# Create a complex task
task = Task(
description="Research Python web frameworks and create a comparison report. Save findings to /research/frameworks.txt and create /reports/comparison.txt"
)
# Execute - agent will automatically create todos and manage the workflow
result = await agent.do_async(task)
print(result)
# Check files created
files = await agent.filesystem_backend.glob("/**/*.txt")
print(f"Files created: {files}")
asyncio.run(main())
Navigation