Skip to main content

AgenticAI - A flexible multi-agent orchestration framework with

Project description

AgentApps

A flexible multi-agent orchestration framework for building intelligent agent applications.

Features

  • 🤖 Simple Agent Creation - Clean, intuitive Phi-style API
  • 👥 Team Collaboration - Multiple agents working together
  • 🔄 Sequential Workflows - Automatic multi-step execution
  • 🛠️ Built-in Tools - Web search, scraping, calculations
  • 🎯 Custom Tools - Easy tool creation
  • 📊 Streaming Support - Real-time responses
  • 🔍 Web Search - DuckDuckGo integration
  • 🌐 Web Scraping - Extract content from any URL

Installation

pip install agentapps

This installs all dependencies:

  • openai - OpenAI API client
  • ddgs - DuckDuckGo search
  • beautifulsoup4 - HTML parsing
  • requests - HTTP requests

Quick Start

from agentapps import Agent
from agentapps.model import OpenAIChat
from agentapps.tools import SearchSummaryTool

# Create an agent
agent = Agent(
    name="Research Assistant",
    role="Search and analyze information",
    model=OpenAIChat(id="gpt-4", api_key="your-openai-key"),
    tools=[SearchSummaryTool()],
    instructions=["Always include sources"],
    show_tool_calls=True
)

# Use it!
agent.print_response("What is the latest news about AI?")

Available Tools

SearchSummaryTool

Search the web and get detailed snippets:

from agentapps.tools import SearchSummaryTool

agent = Agent(
    name="Searcher",
    model=OpenAIChat(id="gpt-4", api_key="key"),
    tools=[SearchSummaryTool()]
)

WebScraperTool

Scrape content from URLs:

from agentapps.tools import WebScraperTool

agent = Agent(
    name="Scraper",
    model=OpenAIChat(id="gpt-4", api_key="key"),
    tools=[WebScraperTool()]
)

CalculatorTool

Perform calculations:

from agentapps.tools import CalculatorTool

agent = Agent(
    name="Calculator",
    model=OpenAIChat(id="gpt-4", api_key="key"),
    tools=[CalculatorTool()]
)

Team Agents

Create teams that work together sequentially:

from agentapps import Agent
from agentapps.model import OpenAIChat
from agentapps.tools import SearchSummaryTool, WebScraperTool

# Create specialist agents
search_agent = Agent(
    name="Search Agent",
    role="Search the web",
    model=OpenAIChat(id="gpt-4", api_key="your-key"),
    tools=[SearchSummaryTool()]
)

scraper_agent = Agent(
    name="Scraper Agent",
    role="Read web pages",
    model=OpenAIChat(id="gpt-4", api_key="your-key"),
    tools=[WebScraperTool()]
)

# Create team with sequential workflow
team = Agent(
    team=[search_agent, scraper_agent],
    instructions=[
        "First, search for relevant URLs",
        "Then, scrape content from those URLs",
        "Finally, provide comprehensive answer"
    ],
    show_tool_calls=True
)

# Team automatically: searches → scrapes → answers
team.print_response("Research NVIDIA's latest AI developments")

Custom Tools

Create your own tools easily:

from agentapps import Tool

class WeatherTool(Tool):
    def __init__(self):
        super().__init__(
            name="get_weather",
            description="Get weather for a city"
        )
    
    def execute(self, city: str) -> str:
        # Your implementation
        return f"Weather in {city}: Sunny, 72°F"
    
    def get_parameters(self):
        return {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "City name"}
            },
            "required": ["city"]
        }

# Use it
agent = Agent(
    name="Weather Agent",
    model=OpenAIChat(id="gpt-4", api_key="key"),
    tools=[WeatherTool()]
)

Examples

Stock Analysis

agent = Agent(
    name="Stock Analyst",
    role="Analyze stocks",
    model=OpenAIChat(id="gpt-4", api_key="key"),
    tools=[SearchSummaryTool()],
    instructions=["Include price targets and analyst ratings"]
)

agent.print_response("Analyze NVDA stock with latest news and recommendations")

Research Assistant

research_team = Agent(
    team=[search_agent, scraper_agent],
    instructions=[
        "Search for academic sources",
        "Read full articles",
        "Provide comprehensive summary with citations"
    ]
)

research_team.print_response("What are the latest breakthroughs in quantum computing?")

API Reference

Agent

Agent(
    name: str = "Agent",
    role: str = "General Assistant",
    model: Model = None,
    tools: List[Tool] = None,
    instructions: List[str] = None,
    team: List[Agent] = None,
    show_tool_calls: bool = False,
    markdown: bool = False,
    temperature: float = None
)

Methods

  • run(message: str, stream: bool = False) - Execute agent
  • print_response(message: str, stream: bool = False) - Print response
  • clear_history() - Clear conversation history
  • add_tool(tool: Tool) - Add a tool
  • get_info() - Get agent information

Requirements

  • Python >= 3.8
  • OpenAI API key

License

MIT License

Contributing

Contributions welcome! Please feel free to submit a Pull Request.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentapps-0.1.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file agentapps-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: agentapps-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for agentapps-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fca44715f699a7e2e6163b571cce976f53082c76162eb7f3276ed503a15659f2
MD5 16a5320c3523b2ca1d2f8f430a4dc920
BLAKE2b-256 743f891337bac6f5bcff7e5718868dcba5059811d69e90afb79da2cfc912b9c6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page