knowledge.py
- Pfad:
/var/www/scripts/pipeline/knowledge.py
- Namespace: pipeline
- Zeilen: 93 | Größe: 2,525 Bytes
- Geändert: 2025-12-25 18:29:01 | Gescannt: 2025-12-31 10:22:15
Code Hygiene Score: 75
- Dependencies: 0 (25%)
- LOC: 100 (20%)
- Methods: 100 (20%)
- Secrets: 100 (15%)
- Classes: 100 (10%)
- Magic Numbers: 100 (10%)
Issues 1
| Zeile |
Typ |
Beschreibung |
| - |
coupling |
Klasse hat 16 Dependencies (max: 15) |
Dependencies 16
- use db.db
- use knowledge.DEFAULT_MODELS
- use knowledge.EntityExtractor
- use knowledge.KnowledgeExtractor
- use knowledge.KnowledgeLevel
- use knowledge.KnowledgeStorage
- use knowledge.KnowledgeType
- use knowledge.LLMService
- use knowledge.ModelConfig
- use knowledge.OntologyExtractor
- use knowledge.SemanticExtractor
- use knowledge.TaxonomyExtractor
- use knowledge.get_model_config
- use knowledge.process_document_knowledge
- use knowledge.store_knowledge
- use sys
Code
"""
Modulares Wissensextraktions-System für 3-Ebenen-Analyse.
HINWEIS: Dies ist ein Backward-Kompatibilitäts-Wrapper.
Die eigentliche Implementierung ist in knowledge/ Package.
Ebenen:
1. Seite (page): Detailanalyse pro Einzelseite
2. Abschnitt (section): Aggregation pro Kapitel/Unterkapitel
3. Dokument (document): Konsolidierte Gesamtsicht
Wissenstypen:
- Entitäten: Personen, Konzepte, Methoden, Organisationen
- Semantik: Bedeutung, Definition, Referenzen
- Ontologie: Wechselwirkungen zwischen Entitäten
- Taxonomie: Hierarchische Einordnung
Autor: KI-System Pipeline
"""
# Re-export alles aus dem knowledge Package
from db import db
from knowledge import (
DEFAULT_MODELS,
# Extractors
EntityExtractor,
# Main Classes
KnowledgeExtractor,
# Models
KnowledgeLevel,
KnowledgeStorage,
KnowledgeType,
LLMService,
ModelConfig,
OntologyExtractor,
SemanticExtractor,
TaxonomyExtractor,
get_model_config,
process_document_knowledge,
# Functions
store_knowledge,
)
__all__ = [
"KnowledgeLevel",
"KnowledgeType",
"ModelConfig",
"DEFAULT_MODELS",
"KnowledgeExtractor",
"LLMService",
"KnowledgeStorage",
"EntityExtractor",
"SemanticExtractor",
"OntologyExtractor",
"TaxonomyExtractor",
"store_knowledge",
"get_model_config",
"process_document_knowledge",
]
# CLI Interface
if __name__ == "__main__":
import sys
if len(sys.argv) < 2:
print("Verwendung: python knowledge.py <document_id> [provider] [model]")
print(" provider: ollama (default) oder anthropic")
print(" model: gemma3:27b-it-qat (ollama) oder claude-3-haiku-20240307 (anthropic)")
sys.exit(1)
doc_id = int(sys.argv[1])
provider = sys.argv[2] if len(sys.argv) > 2 else "ollama"
model = sys.argv[3] if len(sys.argv) > 3 else None
if not db.connect():
print("Datenbankverbindung fehlgeschlagen")
sys.exit(1)
print(f"Starte Wissensextraktion für Dokument {doc_id}")
print(f"Provider: {provider}, Model: {model or 'default'}")
results = process_document_knowledge(doc_id, provider, model)
print("\nErgebnisse:")
print(f" Seiten analysiert: {len(results['pages'])}")
print(f" Abschnitte analysiert: {len(results['sections'])}")
if results["document"]:
print(f" Dokument-Entitäten: {results['document']['entities']}")
print(f" Dokument-Relationen: {results['document']['ontology']}")
db.disconnect()