"Gedöns" ist ein liebevolles deutsches Wort für eine Sammlung von Dingen zwischen Schnickschnack und organisiertem Chaos.
Ein modulares Python-Framework für KI-Anwendungen mit Fokus auf komponentenbasierte Architektur, Agenten-basierte Systeme und nahtlose Integration verschiedener AI-Services.
- Components: Wiederverwendbare KI-Komponenten (Chat, Embedding, Web Search, PDF Reader, etc.)
- Agents: Intelligente Agenten für komplexe Aufgaben (Content Creator, Dialectical Reasoning)
- APIs: Datenbankmanagement und Datenverarbeitung
- Functions: Abstrakte Basis-Klassen für verschiedene AI-Provider
- OpenAI: Chat, Embeddings, Reranking
- Ollama: Lokale LLM-Integration
- Hugging Face: Transformers und Modelle
- ElevenLabs: Text-to-Speech
- Journey MCP Server: Direktintegration mit Claude Desktop
- Character Management: RPG-ähnliche Charakterverwaltung
- Quest System: Multiple-Choice Fragen und Quiz-System
- Real-time Interaction: Asynchrone Tool-Integration
- Vector Database: Chromadb für semantische Suche
- SQLite Integration: Strukturierte Datenspeicherung
- PDF Processing: Automatische Dokumentenverarbeitung
- Web Search: Wikipedia und andere Quellen
yanig/
├── agents/ # KI-Agenten
│ ├── baseagent.py # Basis-Agent Klasse
│ ├── contentcreatoragent.py
│ └── dialecticalreasoningagent.py
├── api/ # Datenbank und API Layer
│ ├── journeydbmanager.py
│ ├── journeydbschema.py
│ ├── vectordb.py
│ └── pdfreader.py
├── applications/ # Hauptanwendungen
│ ├── journey-mcp-server.py # MCP Server für Claude Desktop
│ └── examples.py
├── components/ # Wiederverwendbare KI-Komponenten
│ ├── chatcomponent.py
│ ├── embeddingcomponent.py
│ ├── websearchcomponent.py
│ └── pdfreadercomponent.py
├── core/ # Kern-Framework
│ ├── componentchain.py
│ ├── componentresultobject.py
│ └── settings.py
├── functions/ # AI-Provider Implementierungen
│ ├── openaichat.py
│ ├── ollamachat.py
│ └── huggingfacechat.py
└── data/ # Datenverzeichnisse
├── db/ # Datenbanken
├── pdf/ # PDF-Dokumente
└── json/ # JSON-Daten
- Python 3.12.x
- Virtual Environment (empfohlen)
# Repository klonen
git clone <repository-url>
cd yanig
# Virtual Environment erstellen
python -m venv venv
source venv/bin/activate # Linux/Mac
# oder
venv\Scripts\activate # Windows
# Dependencies installieren
pip install -r requirements.txtErstellen Sie eine .env-Datei im Hauptverzeichnis:
OPENAI_API_KEY=your_openai_api_key
HUGGINGFACE_API_KEY=your_hf_api_key
ELEVENLABS_API_KEY=your_elevenlabs_keyFügen Sie zu Ihrer claude-desktop-config.json hinzu:
{
"mcpServers": {
"journey-mcp-server": {
"command": "python",
"args": [
"c:\\path\\to\\yanig\\applications\\journey-mcp-server.py"
],
"cwd": "c:\\path\\to\\yanig"
}
}
}create_character: Erstelle RPG-Charaktereget_character: Charaktere abrufenmodify_character: Charaktere modifizierencreate_quest: Multiple-Choice Fragen erstellenget_random_quest: Zufällige Quiz-Fragen abrufen
from components import ChatComponent
from functions import OpenAIChat
chat = ChatComponent()
chat.set_chat_function(OpenAIChat())
response = chat.invoke("Erkläre mir Quantenphysik")from agents import ContentCreatorAgent
agent = ContentCreatorAgent()
result = agent.invoke("Erstelle Fragen zum Thema Schwarze Löcher")from api import JourneyDBManager
db = JourneyDBManager()
character = db.create_character({
"name": "Gandalf",
"desc": "Ein weiser Zauberer"
})Alle KI-Funktionalitäten sind als wiederverwendbare Komponenten implementiert:
- Eingabe:
ComponentResultObject - Verarbeitung: Spezifische Logik
- Ausgabe:
List[ComponentResultObject]
Verschiedene AI-Services werden durch einheitliche Interfaces abstrahiert:
BaseChat,BaseEmbedding,BaseReranker- Einfacher Wechsel zwischen OpenAI, Ollama, Hugging Face
- Event-driven Architecture
- Non-blocking I/O Operations
- Concurrent Task Processing
# Alle Tests ausführen
python -m pytest
# Spezifische Tests
python test_character_creation.py
python test_mcp_tools.pyWeitere Dokumentation finden Sie in:
docs/YaniG Documentation.md- Detaillierte Architektur-Dokumentationdocs/diagrams/- UML-Diagramme und Architektur-Übersichten
- Fork des Repositories
- Feature Branch erstellen (
git checkout -b feature/amazing-feature) - Änderungen committen (
git commit -m 'Add amazing feature') - Branch pushen (
git push origin feature/amazing-feature) - Pull Request erstellen
Siehe LICENSE Datei für Details.
- Erweiterte Agent-Funktionalitäten
- Weitere AI-Provider Integration
- Web-Interface
- Docker-Containerisierung
- Mehr MCP-Tools
"Intelligence is not about having all the answers, but about building systems that can find them." 🧠✨