Skip to content

Latest commit

 

History

History
328 lines (215 loc) · 8.06 KB

README.md

File metadata and controls

328 lines (215 loc) · 8.06 KB

Disclaimer: This is a preview release (version 0.0.2). TinyAGI is currently under active development, and this version is intended for testing, feedback, and early experimentation. Expect frequent updates and potential changes to the API.

TinyAGI Logo

🧠 TinyAGI

TinyAGI is a powerful, modular Artificial General Intelligence (AGI) framework crafted for seamless integration and management of AI agents, plugins, and tools. With its adaptable and extensible architecture, TinyAGI enables dynamic loading of components from local and GitHub-hosted sources, empowering you to customize and scale for a multitude of use cases.

PyPI Version License GitHub Stars Twitter Follow


📖 Table of Contents


🧩 Features

  • 🌐 Agent System: Manage various AI agents, from OpenAI to Ollama and LLaMA.
  • 🔌 Plugin Manager: Seamlessly expand functionality with versatile plugins.
  • 🛠 Tool Integration: Use tools like the Wikipedia API to enhance capabilities.
  • 🔄 Dynamic Loading: Load components locally or clone from GitHub repositories on the fly.
  • 🚀 Task Automation: Orchestrate agents, plugins, and tools to define and execute complex tasks.
  • 📑 Comprehensive Documentation: Easily accessible Markdown files for every component.
  • 🔥 Robust Error Handling: Advanced logging and error management for smooth operation.

📦 Installation

From PyPI

Get the latest TinyAGI in seconds with pip:

Show command
pip install TinyAGI

From GitHub

Clone and set up dependencies:

Show commands
git clone https://github.com/SullyGreene/TinyAGI.git
cd TinyAGI
python setup_env.py

Note: setup_env.py creates a venv environment, installs dependencies, and downloads necessary NLTK data.


🔧 Setup Instructions

  1. Clone the Repository

    Show commands
    git clone https://github.com/SullyGreene/TinyAGI.git
    cd TinyAGI
  2. Set Up the Virtual Environment

    Ensure Python 3.8+ is installed.

    Show command
    python setup_env.py
  3. Configure Environment Variables

    Copy the example .env file and add your API keys.

    Show commands
    cp .env.example .env
  4. Run the Server

    Show command
    python run.py

    The server will be accessible at http://localhost:5000.


🛠 Usage

Using the CLI

Interact with TinyAGI through the command-line interface.

  • Generate Text

    Show command
    python -m TinyAGI.services.cli_manager generate --prompt "Tell me a joke."
    • Options:
      • --prompt or -p: The text prompt.
      • --config or -c: Path to a custom configuration file.
      • --stream or -s: Enable streaming output.

Accessing the API

  • Chat Endpoint

    Show command
    curl -X POST http://localhost:5000/chat \
         -H "Content-Type: application/json" \
         -d '{"messages": [{"role": "user", "content": "Hello!"}], "stream": false}'
  • Generate Text Endpoint

    Show command
    curl -X POST http://localhost:5000/generate \
         -H "Content-Type: application/json" \
         -d '{"prompt": "Write a short story about a dragon.", "stream": false}'
  • Embed Endpoint

    Show command
    curl -X POST http://localhost:5000/embed \
         -H "Content-Type: application/json" \
         -d '{"input": "Sample text for embedding."}'

📚 Documentation

Access comprehensive documentation in the Documents/ directory.


🧪 Testing

Run TinyAGI tests to verify functionality.

Testing Ollama

Show command
python test_ollama.py
  • Expected Output:

    Response from OllamaAgent:
    The capital of France is Paris.
    
  • Troubleshooting Tips:

    • Ensure the Ollama server is running at http://localhost:11434.
    • Confirm correct API keys and authentication.

📝 Contributing

Join the TinyAGI community by contributing your code, ideas, or feedback!

  1. Fork the Repository

    Show commands
    git checkout -b feature/YourFeatureName
  2. Commit Your Changes

    Show command
    git commit -m "Add feature: YourFeatureName"
  3. Push to Your Fork

    Show command
    git push origin feature/YourFeatureName
  4. Submit a Pull Request


🛡 License

This project is licensed under the MIT License.


📞 Contact

💬 Get in Touch


🗺️ Roadmap

TinyAGI’s vision includes scaling to meet diverse AI needs. Here’s what’s planned:

Phase 1: Core Enhancements 🚀
  • Agent Expansion: Support additional agents and tools for specific domains.
  • Plugin Ecosystem: Expand with plugins for data analysis, visual generation, and task-specific fine-tuning.
  • Advanced Error Handling: Improve diagnostic logs and error handling.
Phase 2: Advanced Task Orchestration 🤖
  • Multi-Agent Collaboration: Enable agents to collaborate on complex tasks.
  • Task Scheduling & Automation: Automate recurring actions and analysis.
  • Smart Prompting: Dynamic prompt optimization for better task performance.
Phase 3: Enhanced API and Developer Experience 🛠️
  • API V2: Improve task queueing, agent behavior management, and access controls.
  • Interactive Documentation: Launch an interactive portal with live code examples.
  • CLI Improvements: Add user-friendly CLI commands.
Phase 4: Ecosystem & Community Growth 🌍
  • Plugin Marketplace: Set up a community-driven marketplace for plugins.
  • TinyAGI Hub: A central hub for resources, tutorials, and community feedback.
Phase 5: Scalability and Enterprise-Readiness 🏢
  • Distributed Agent Management: Support for multi-server deployments.
  • Performance Optimization: Improve resource use for concurrent agent management.
  • Enterprise Security

: Enhanced data encryption and access control.