{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"doc\": {\n \"id\": 109,\n \"parent_id\": 100,\n \"slug\": \"chat-anwendung\",\n \"path\": \"\/prozesse\/rag-prozess\/chat-anwendung\",\n \"title\": \"Chat-Anwendung\",\n \"description\": \"Spezifischer RAG-Flow für den KI-Chat\",\n \"content\": \"<h2>RAG im KI-Chat<\/h2>\\n\\n<h3>Überblick<\/h3>\\n<p>Der KI-Chat nutzt RAG für interaktive Wissensfragen. Nutzer stellen Fragen und erhalten kontextbasierte Antworten mit Quellenangaben.<\/p>\\n\\n<h3>Besonderheiten<\/h3>\\n<ul>\\n<li><strong>Session-basiert:<\/strong> Konversationen werden in Sessions gespeichert<\/li>\\n<li><strong>Konversationshistorie:<\/strong> Vorherige Nachrichten als Kontext<\/li>\\n<li><strong>Echtzeit:<\/strong> Synchrone Verarbeitung, direkte Antwort<\/li>\\n<li><strong>Multi-Collection:<\/strong> Mehrere Wissensquellen wählbar<\/li>\\n<\/ul>\\n\\n<h3>Datenfluss<\/h3>\\n<pre>\\nWeb-UI (\/chat\/{uuid})\\n │\\n ▼\\nChatController::message()\\n │\\n ▼\\nSendChatMessageUseCase::execute()\\n │\\n ├─▶ RAG Pipeline (chat.py)\\n │ │\\n │ ├─▶ get_embedding(question)\\n │ ├─▶ search_qdrant(embedding)\\n │ ├─▶ build_context(results)\\n │ └─▶ ask_claude\/ollama(question, context)\\n │\\n ▼\\nAntwort + Quellen in DB speichern\\n │\\n ▼\\nHTMX Response an Web-UI\\n<\/pre>\\n\\n<h3>Beteiligte Komponenten<\/h3>\\n<table>\\n<thead><tr><th>Schicht<\/th><th>Komponente<\/th><th>Pfad<\/th><\/tr><\/thead>\\n<tbody>\\n<tr><td>Controller<\/td><td>ChatController<\/td><td><code>src\/Controller\/ChatController.php<\/code><\/td><\/tr>\\n<tr><td>UseCase<\/td><td>SendChatMessageUseCase<\/td><td><code>src\/UseCases\/Chat\/<\/code><\/td><\/tr>\\n<tr><td>Pipeline<\/td><td>chat.py<\/td><td><code>pipeline\/chat.py<\/code><\/td><\/tr>\\n<tr><td>View<\/td><td>chat\/index.php<\/td><td><code>src\/View\/chat\/<\/code><\/td><\/tr>\\n<\/tbody>\\n<\/table>\\n\\n<h3>Konfigurierbare Parameter<\/h3>\\n<table>\\n<thead><tr><th>Parameter<\/th><th>UI-Element<\/th><th>Wirkung<\/th><\/tr><\/thead>\\n<tbody>\\n<tr><td>Modell<\/td><td>Dropdown<\/td><td>Claude vs Ollama Modelle<\/td><\/tr>\\n<tr><td>Collections<\/td><td>Multi-Select<\/td><td>Welche Wissensquellen<\/td><\/tr>\\n<tr><td>Kontext-Limit<\/td><td>Dropdown (3-15)<\/td><td>Anzahl RAG-Chunks<\/td><\/tr>\\n<tr><td>Temperature<\/td><td>Slider<\/td><td>Kreativität der Antwort<\/td><\/tr>\\n<tr><td>Max Tokens<\/td><td>Input<\/td><td>Maximale Antwortlänge<\/td><\/tr>\\n<\/tbody>\\n<\/table>\\n\\n<h3>Session-Speicherung<\/h3>\\n<pre>\\nki_content.chat_sessions:\\n id, uuid, title, model, collections,\\n context_limit, temperature, max_tokens,\\n created_at, updated_at\\n\\nki_content.chat_messages:\\n id, session_id, role, content, \\n sources, tokens_used, created_at\\n<\/pre>\\n\\n<h3>Quellen-Anzeige<\/h3>\\n<p>Nach jeder Antwort werden die verwendeten Quellen angezeigt:<\/p>\\n<ul>\\n<li>Dokumentname<\/li>\\n<li>Relevanz-Score<\/li>\\n<li>Anzahl verwendeter Chunks<\/li>\\n<\/ul>\",\n \"status\": \"published\",\n \"sort_order\": 9,\n \"depth\": 2,\n \"created_at\": \"2025-12-24T09:44:43\",\n \"updated_at\": \"2025-12-24T09:44:43\"\n }\n}"
}
]
}