Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agno Memory Module (AMM) System

The Agno Memory Module (AMM) System is a powerful framework for building AI agents with fixed knowledge and adaptive memory capabilities. It leverages Google's Generative AI (Gemini) models to create intelligent agents that can access knowledge sources and learn from interactions.

🚀 Features

  • Fixed Knowledge: Store and retrieve structured knowledge using vector embeddings
  • PDF Knowledge Sources: Support for text extraction and chunking from PDF documents
  • Adaptive Memory: Maintain conversation history and learn from interactions
  • MCP Server: Deploy as a FastAPI-based microservice
  • Web GUI: Built with Streamlit for easy interaction
  • Key Management: Secure API key management for MCP server
  • MCP Server Manager: Launch and manage MCP servers directly from the GUI
  • CLI Tools: Command-line tools for server and knowledge management
  • Modular Design: Easily extensible architecture for custom components
  • GitHub-Ready Packaging: Modular components designed for easy integration

📦 Installation

Prerequisites

  • Python 3.9+
  • pip (Python package manager)
  • Poetry (recommended)
  • Google Cloud account with Gemini API access

Quick Start

  1. Clone the repository

    git clone https://github.com/your-username/agno-memory-module.git
    cd agno-memory-module
  2. Set up a virtual environment (recommended)

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies

    # Using pip
    pip install -r requirements.txt
    
    # Or using Poetry (recommended)
    poetry install
  4. Set up environment variables

    cp .env.example .env
    # Edit .env with your API keys and configuration
  5. Initialize the database

    python -m agno.cli db-init
  6. Run tests

    # Run MCP component tests
    ./run_mcp_tests.py
    
    # Run all tests
    python -m unittest discover tests

🏃‍♂️ Quick Start Guide

MCP Server Features

Our MCP server implementation includes:

  • Standalone Operation: All required modules included in the build directory
  • Import Fix Script: Automatically fixes import issues in builds
  • CLI Tool: Comprehensive command-line interface for server management
  • GUI Integration: Powerful GUI for managing MCP servers from the Test tab
  • Network Binding: Binds to all interfaces by default (0.0.0.0)
  • Interactive Mode: Command-line interface with menu-driven operation
  • Comprehensive Tests: Unit tests for all MCP server components

Running the Demo

  1. Start the AMM Server

    # Development server
    python -m agno.server
    
    # Or with hot reload
    uvicorn agno.server:app --reload
  2. Access the Web UI

    streamlit run agno/gui/app.py

    Then open http://localhost:8501 in your browser.

Basic Usage

Using the Python API

from agno import AMMEngine
from agno.models import AMMDesign

# Initialize the engine
design = AMMDesign(
    name="my_agent",
    description="A sample AMM agent"
)
engine = AMMEngine(design)

# Process a query
response = engine.process_query("What is the capital of France?")
print(response)

Using the CLI

# Start an interactive session
python -m agno.cli chat

# Process a single query
python -m agno.cli query "Your question here"

🔑 API Key Management

To create and manage API keys for your MCP servers:

# Create a new API key and update your .env file
python mcp_key_manager/cli.py create "Production Key" --description "Key for production use" --use-in-env

# List all your API keys
python mcp_key_manager/cli.py list

# View details of a specific key
python mcp_key_manager/cli.py view <key_id>

🧪 Testing

The AMM project includes comprehensive tests for all components:

# Run MCP component tests
./run_mcp_tests.py

# Run with verbose output
./run_mcp_tests.py --verbose

# Run specific test modules
python -m unittest tests/unit/test_mcp_cli.py

# Run all tests in the project
python -m unittest discover tests

See the Running Tests Guide for more detailed instructions.

🧩 Project Structure

agno-memory-module/
├── agno/                    # Core AMM package
│   ├── core/               # Core functionality
│   ├── models/             # Data models
│   ├── utils/              # Utility functions
│   ├── cli/                # Command-line interface
│   └── gui/                # Web interface
├── docs/                   # Documentation
├── tests/                  # Test suite
├── .env.example           # Example environment variables
├── pyproject.toml         # Project metadata and dependencies
└── README.md              # This file

📚 Documentation

For more detailed information, refer to the following guides:

🤝 Contributing

Contributions are welcome! Please read our Contributing Guidelines for details on how to submit pull requests and report issues.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Google's Gemini API for powerful language models
  • The open-source community for valuable libraries and tools
  • All contributors who have helped improve this project

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages