{"id":25373930,"url":"https://github.com/oliverwebdev/ollama_interface","last_synced_at":"2026-02-14T19:04:03.048Z","repository":{"id":277449801,"uuid":"932463988","full_name":"Oliverwebdev/ollama_interface","owner":"Oliverwebdev","description":"A Docker-based chat interface that communicates locally with an Ollama instance using React (Vite) and a FastAPI backend. Ideal for quick experiments with LLMs on your own computer.","archived":false,"fork":false,"pushed_at":"2025-02-19T20:03:28.000Z","size":8385,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T09:15:44.379Z","etag":null,"topics":["ai","chat-interface","docker","docker-compose","fastapi","llm","ollama","python3","react","vite"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Oliverwebdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-14T00:29:25.000Z","updated_at":"2025-03-06T20:54:50.000Z","dependencies_parsed_at":"2025-02-14T01:48:43.921Z","dependency_job_id":null,"html_url":"https://github.com/Oliverwebdev/ollama_interface","commit_stats":null,"previous_names":["oliverwebdev/ollama_interface"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Oliverwebdev/ollama_interface","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oliverwebdev%2Follama_interface","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oliverwebdev%2Follama_interface/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oliverwebdev%2Follama_interface/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oliverwebdev%2Follama_interface/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Oliverwebdev","download_url":"https://codeload.github.com/Oliverwebdev/ollama_interface/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oliverwebdev%2Follama_interface/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262026982,"owners_count":23246954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chat-interface","docker","docker-compose","fastapi","llm","ollama","python3","react","vite"],"created_at":"2025-02-15T03:19:56.411Z","updated_at":"2026-02-14T19:04:03.008Z","avatar_url":"https://github.com/Oliverwebdev.png","language":"Python","readme":"\n# EchoCore - KI Chat Interface\n\nDieses Projekt stellt eine moderne, interaktive Chat-Anwendung bereit, um über ein React-Frontend und ein Python/FastAPI-Backend mit einer lokalen Ollama-Instanz zu interagieren.  \nEs nutzt **modernes Styling (OpenAI-Look)**, **mobile Optimierung** und erlaubt den Upload von **Bildern, PDFs \u0026 Textdateien** zur Analyse durch das KI-Modell.\n\n## 📌 Inhaltsverzeichnis\n* [Überblick](#überblick)\n* [Technologie-Stack](#technologie-stack)\n* [Projektstruktur](#projektstruktur)\n* [Voraussetzungen](#voraussetzungen)\n* [Installation \u0026 Start](#installation--start)\n* [Nutzung](#nutzung)\n* [Features](#features)\n* [Konfiguration](#konfiguration)\n* [Fehlersuche](#fehlersuche)\n* [Zukünftige Erweiterungen](#zukünftige-erweiterungen)\n* [Lizenz](#lizenz)\n\n---\n\n## 🚀 **Überblick**\n- **Frontend (React + Vite)** → Moderner Chat mit OpenAI-Optik  \n- **Backend (FastAPI)** → Sendet Anfragen an Ollama (lokale KI)  \n- **Ollama** → Führt KI-Modelle aus (`deepseek-r1:7b` oder andere)  \n- **Docker \u0026 Docker Compose** → Container-Management  \n\n### 🔗 **Datenfluss**\n```txt\n[Browser / Frontend] → [FastAPI-Backend in Docker] → [Ollama auf dem Host-System]\n```\n\n---\n\n## ⚡ **Technologie-Stack**\n- **React mit Vite** (Frontend)\n- **Python 3.10 mit FastAPI** (Backend)\n- **Docker \u0026 Docker Compose**\n- **Ollama (Lokaler Modellserver)**\n\n---\n\n## 📂 **Projektstruktur**\n```\nechocore/\n├── backend/\n│   ├── Dockerfile           # Backend (Python) Container Setup\n│   ├── requirements.txt     # Python-Abhängigkeiten\n│   ├── main.py              # FastAPI-App (mit /ollama Endpoint)\n├── frontend/\n│   ├── Dockerfile           # Frontend (Node/Vite) Container Setup\n│   ├── package.json         # NPM-Skripte \u0026 Dependencies\n│   ├── src/\n│   │   ├── App.jsx          # React-Hauptkomponente (Chat-UI)\n│   │   ├── App.css          # Komplettes UI-Styling (Desktop + Mobile)\n│   │   └── Spinner.jsx      # Lade-Animation\n├── docker-compose.yml       # Orchestrierung für Frontend + Backend\n├── README.md                # Dieses Dokument\n└── .gitignore               # Verhindert unnötige Uploads\n```\n\n---\n\n## 🛠 **Voraussetzungen**\n- **Docker (empfohlen Version ≥ 20.10)**\n- **Docker Compose (≥ 1.29)**\n- **Ollama lokal installiert (≥ 0.4.5)**\n- **Python nur für lokale Backend-Starts notwendig**\n\n---\n\n## 🚀 **Installation \u0026 Start**\n### **1️⃣ Docker Compose starten**\n```bash\ncd echocore\nsudo docker compose up --build\n```\n- **Frontend läuft unter:** `http://localhost:5173`\n- **Backend API unter:** `http://localhost:8000/docs`\n- **Ollama KI läuft auf:** `http://localhost:11434`\n\n---\n\n## 💬 **Nutzung**\n### **📥 Eingabe**\n- Der User gibt eine Nachricht ein.\n- Falls **Anhänge (Bilder, PDFs, TXT) vorhanden sind**, werden sie mitgesendet.\n\n### **🔄 Verarbeitung**\n- **FastAPI empfängt die Anfrage**  \n- Falls eine Datei gesendet wurde:\n  - **TXT → Direkt in den Prompt eingefügt**\n  - **PDF → Text extrahiert \u0026 angehängt**\n  - **Bilder → OCR-Texterkennung mit Tesseract**\n  - **Andere Formate → In Base64 gewandelt**\n\n### **📤 Antwort**\n- Ollama verarbeitet die Eingabe \u0026 sendet das JSON zurück.\n- **Frontend zeigt die Antwort mit OpenAI-Optik im Chat an.**\n- Falls `\u003cthink\u003e`-Tags erkannt werden, erscheinen diese als **Denkblasen**.\n\n---\n\n## 🌟 **Features**\n✅ **🔹 Modernes Chat-Design (OpenAI-Stil)**  \n✅ **📱 100% Responsive (Mobile \u0026 Desktop)**  \n✅ **📂 Anhänge: PDFs, Bilder, Textdateien analysieren**  \n✅ **🧠 `\u003cthink\u003e`-Tags als Denkblasen anzeigen**  \n✅ **🎨 Light \u0026 Dark Mode-Unterstützung (optional)**  \n✅ **⚡ Schnelle Performance dank Vite \u0026 FastAPI**\n\n---\n\n## ⚙️ **Konfiguration**\n### **🔧 Frontend (`App.jsx`)**\n- **Chat-UI \u0026 Denkblasen-Logik**\n- **Request an `http://localhost:8000/ollama`**\n- **Styling in `App.css` für OpenAI-Optik**\n\n### **🔧 Backend (`main.py`)**\n- **Ollama URL:** `http://host.docker.internal:11434/api/generate`\n- **Modelleinstellungen:** Standard `\"deepseek-r1:7b\"`  \n  → Kann für andere Modelle geändert werden.\n\n### **🔧 Docker Compose**\n- **Definiert `frontend` \u0026 `backend`**\n- `extra_hosts: \"host.docker.internal:host-gateway\"` für Netzwerkzugriff\n\n---\n\n\n\n## 🚀 **Zukünftige Erweiterungen**\n✅ **Live-Streaming von Antworten (`stream: true`)**  \n✅ **Weitere Datei-Formate wie MP3-Transkription**  \n✅ **Offline-Modus für lokale Nutzung**  \n✅ **Modell-Auswahl direkt im Chat**  \n\n---\n\n## 📜 **Lizenz**\nDieses Projekt ist Open Source. Nutze es, verbessere es \u0026 entwickle es weiter! 🚀  \n```\n\n\n OLLAMA_HOST=0.0.0.0 OLLAMA_PORT=11434 ollama serve\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foliverwebdev%2Follama_interface","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foliverwebdev%2Follama_interface","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foliverwebdev%2Follama_interface/lists"}