Ollama-URL korrigiert (100.103.83.12:11435) und M1/M2 gegen Echt-System validiert
Der Host betreibt zwei Ollama-Instanzen: 11434 (fast leer, 0.16.2) und 11435 (Ziel-Instanz, 0.32.13, Modell-Zoo) — Port nicht mehr auf 11434 'korrigieren' (Dokumentation + Skill + Config-Default angepasst). Validierung gegen das echte System: bge-m3 per API gepullt, Hybrid-Index (3005 Chunks, 100 % eingebettet, 144 s), M1-Akzeptanz erreicht (Recall@8 0,952 > 0,9; Hit-Rate 0,968). Antwortmodus-Eval mit qwen3.8:27b (Thinking verifiziert aus): Zitier-Präzision 100 % (4 Regenerierungen), Verweigerung korrekt 94,3 %, Latenz mean 32 s. ATZ-Konfliktfall korrekt beide Werte mit Warnung. generate.py: sources enthaelt jetzt nur zitierte Quellen; Systemprompt ohne redundante Quellenzeile. Bake-off-Feld (M3) bereits installiert: qwen3.6:27B, gemma4:26b, mistral-small3.1:24b, gemma4:12B.
This commit is contained in:
+6
-5
@@ -38,8 +38,7 @@ Verbindliche Regeln:
|
||||
5. Widersprechen sich Kontextblöcke, nenne beide Werte mit ihren IDs und
|
||||
kennzeichne den Widerspruch mit ⚠. Löse Widersprüche niemals stillschweigend auf.
|
||||
6. Nenne Paragraphen und Gesetze nur, wenn ein Kontextblock sie nennt.
|
||||
7. Antworte auf Deutsch, prägnant (Stichpunkte, wo sinnvoll), und füge am
|
||||
Ende eine Zeile „Quellen:“ mit den verwendeten IDs (ID — Titel, Stand) an.
|
||||
7. Antworte auf Deutsch und prägnant (Stichpunkte, wo sinnvoll).
|
||||
|
||||
Verletze Regel 2 oder Regel 4 niemals — im Zweifel verweigere die Antwort."""
|
||||
|
||||
@@ -123,14 +122,15 @@ def answer_question(
|
||||
if own_retriever:
|
||||
retriever.close()
|
||||
|
||||
def finish(answer, refused, verified, citations, regenerations=0, draft=None):
|
||||
def finish(answer, refused, verified, citations, regenerations=0,
|
||||
draft=None, sources=None):
|
||||
return {
|
||||
"question": question,
|
||||
"answer": answer,
|
||||
"refused": refused,
|
||||
"verified": verified,
|
||||
"citations": citations,
|
||||
"sources": _source_rows(results),
|
||||
"sources": sources if sources is not None else _source_rows(results),
|
||||
"n_context": len(results),
|
||||
"model": cfg.answer_model,
|
||||
"regenerations": regenerations,
|
||||
@@ -197,6 +197,7 @@ def answer_question(
|
||||
citations=[],
|
||||
regenerations=regenerations,
|
||||
draft=retry,
|
||||
sources=[],
|
||||
)
|
||||
|
||||
citations = sorted(set(CITE_RE.findall(final)))
|
||||
@@ -214,5 +215,5 @@ def answer_question(
|
||||
]
|
||||
return finish(
|
||||
final, refused=refused, verified=not violations,
|
||||
citations=citations, regenerations=regenerations,
|
||||
citations=citations, regenerations=regenerations, sources=sources,
|
||||
)
|
||||
Reference in New Issue
Block a user