Welcome to Ollama_Agents! This repository allows you to create sophisticated AI agents using Ollama, featuring a unique graph-based knowledgebase. It's like having a high-tech AI laboratory with a built-in brain! 🧠✨
- 🕸️ Graph-based Knowledgebase: A novel approach using JSON for flexible, relational knowledge storage
- 🧠 Enhanced Debug Agent with detailed cognitive processing visualization
- 🌳 Dynamic Knowledge Tree generation and management
- 🔍 Improved memory search and context management
- 🧐 Fact-checking and source credibility assessment
- 🎭 Multi-agent system with easy switching between agents
- 🔀 Interactive follow-up question handling
- 🎨 Rich, colorful command-line interface with progress tracking
- 🛠️ Modular design with improved error handling and logging
This project is being developed on an M1 Mac Mini with 16GB of RAM, ensuring optimal performance for AI agent creation and testing.
- 📊 Graph Knowledgebase: Utilizes a JSON-based graph structure for flexible and relational knowledge representation
- 📚 Modular Architecture: Each function is in a separate module for easy customization and extension
- 💬 Interactive CLI: Built with
rich
for a cinematic experience! - 🔐 Secure Configuration: Customize your AI's personality and behavior in
config.py
- 🧪 Comprehensive Testing: Because quality is our superpower!
- 🌐 Web Search Integration: Your AI can search the web using DuckDuckGo
- 📜 Advanced Chat History: Never forget a conversation with built-in history management and analysis
- 🧠 Sophisticated Memory Search: Quickly retrieve and utilize relevant information from past interactions and uploaded documents
- 🧵 Fabric Integration: Use Fabric patterns for enhanced AI interactions
- 🎭 Multi-Agent System: Interact with multiple AI personalities in one session
- 🤖 Debug Mode: Visualize the agent's thought process and decision-making in real-time
- 🌳 Knowledge Tree: Dynamic generation and visualization of knowledge structures
- 🧐 Fact-Checking: Verify information and assess source credibility
- 👤 User Profiling: Adapt responses based on user expertise and interests
Our unique approach of using a JSON-based graph structure for the knowledgebase offers several advantages:
- 🔄 Flexibility: Easily adapt and evolve the knowledge structure as your AI learns
- 🔗 Rich Relationships: Capture complex relationships between concepts more intuitively than in traditional vector databases
- 🚀 Performance: Efficient querying and updating of interconnected information
- 🧩 Simplicity: No need for complex vector database setups or maintenance
- 📦 Portability: JSON format allows for easy data transfer and backup
- 🔍 Interpretability: Graph structure provides clear visibility into the AI's knowledge connections
This approach allows Ollama_Agents to have a more nuanced and context-aware understanding, leading to more intelligent and adaptive responses.
- Python 3.8 or higher
- pip (Python package manager)
- Git
- Ollama
-
Clone this repository:
git clone https://github.com/yourusername/Ollama_Agents.git cd Ollama_Agents
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install dependencies:
pip install -r requirements.txt
-
Set up your PYTHONPATH:
export PYTHONPATH=/path/to/your/Ollama_Agents:$PYTHONPATH
-
Visit the Ollama website and follow the installation instructions for your operating system.
-
Once installed, run Ollama and download a model (e.g., llama2:latest):
ollama run llama2:latest
-
Customize your AI in
config.py
. -
Set up your API keys and other configurations in a
.env
file (use.env.example
as a template).
Run the main script:
python -m src.main
Detailed documentation for each module can be found in the docs/
directory. This includes information on both standard and advanced (adv_) modules:
- Advanced Input Processor
- Advanced Context Manager
- Advanced Reasoning Engine
- Advanced Planning Engine
- Advanced Knowledge Manager
- Advanced Output Manager
/help
: Show available commands/search <query>
: Perform an interactive web search/context
: Show current context/clear_context
: Clear the current context and bullet points/bullets
: Display current bullet points/knowledge_tree
: Display the knowledge tree/explain <concept>
: Get an explanation of a concept/fact_check <statement>
: Perform a fact check on a statement/profile
: Display your user profile
Got ideas? We love them! 💡 Submit a pull request or open an issue. Let's build the future of AI together!
This project is licensed under the MIT License. See LICENSE for details.
Built with ❤️ and 🧠 by the Ollama_Agents team. Let's revolutionize AI knowledge representation! 🚀