61 lines
1.6 KiB
Markdown
61 lines
1.6 KiB
Markdown
# Architektur
|
|
|
|
```
|
|
AI_Brain/
|
|
*.md Dateien
|
|
│
|
|
▼
|
|
bin/ingest Embeddings via LocalAI
|
|
│
|
|
▼
|
|
Qdrant (NAS) ◄──── bin/ask ──► LM Studio (Chat)
|
|
```
|
|
|
|
- **Embeddings**: LocalAI unter `embedding.url` (Modell konfigurierbar)
|
|
- **Vektordatenbank**: Qdrant auf dem NAS
|
|
- **Chat-Completion**: LocalAI unter `chat.url` (Modell konfigurierbar)
|
|
|
|
## Projektstruktur
|
|
|
|
```
|
|
AI-Agent/
|
|
cmd/
|
|
ingest/main.go Entry Point für ingest-Binary
|
|
ask/main.go Entry Point für ask-Binary
|
|
internal/
|
|
config/config.go Config-Struct, Clients, Verbindungen
|
|
brain/
|
|
ingest.go Markdown-Import, Chunking
|
|
ingest_json.go JSON-Import (Bildbeschreibungen)
|
|
ask.go Suche + LLM-Antwort
|
|
bin/ Kompilierte Binaries (von build.sh erzeugt)
|
|
config.yml Alle Einstellungen
|
|
build.sh Baut beide Binaries
|
|
```
|
|
|
|
## Konfiguration
|
|
|
|
Alle Einstellungen in `config.yml` (muss im Arbeitsverzeichnis liegen):
|
|
|
|
```yaml
|
|
qdrant:
|
|
host: "192.168.1.4"
|
|
port: "6334"
|
|
api_key: "..."
|
|
collection: "jacek-brain"
|
|
|
|
embedding:
|
|
url: "http://192.168.1.118:8080/v1"
|
|
model: "qwen3-embedding-4b"
|
|
dimensions: 2560 # muss zum Modell passen
|
|
|
|
chat:
|
|
url: "http://192.168.1.118:8080/v1"
|
|
model: "qwen3.5-4b-claude-4.6-opus-reasoning-distilled"
|
|
|
|
brain_root: "/mnt/c/Users/jacek/AI_Brain"
|
|
top_k: 3
|
|
```
|
|
|
|
> **Wichtig:** Wenn du `embedding.model` oder `dimensions` änderst, muss die Qdrant-Collection neu erstellt werden (im Dashboard löschen, dann `ingest` erneut ausführen).
|