Llama3.2 Konfigurationstest

Zum Testen auf den Poolrechnern:

  • Installation von Ollama und einrichten von Llama 3.2 (Default, 3B) dokumentieren, ggf. leeren Ollama-Ordner vorbereiten
    • Runterladen unter Linux
    • An Pfad entpacken (generisch, abweichend von Ollama-Doku, Vorbereitung für diese persistenten Data-Stores auf McG-Server)
    • Ollama serve, Ollama pull zum Modelle runterladen, mit Variable für Speicherort (Vorbereitung für für diese persistenten Data-Stores auf McG-Server)
  • Anpassungsschritte der Konfiguration dokumentieren
  • Konfiguration der Datasets dokumentieren
  • Angepasste Dateien für Ollama/Llama3.2 zur Verfügung stellen:
    • CHESS/.env.llama3.2.example
    • CHESS/requirements.txt
    • CHESS/run/run_main_ir_cg_ut_llama3.2.sh
    • CHESS/run/run_main_ir_ss_cg_llama3.2.sh
    • CHESS/run/configs/CHESS_IR_CG_UT_LLAMA3-2.yaml
    • CHESS/run/configs/CHESS_IR_SS_CG_LLAMA3-2.yaml
    • CHESS/src/database_utils/db_catalog/preprocess.py
    • CHESS/src/llm/engine_configs.py
    • CHESS/src/workflow/agents/information_retriever/tool_kit/retrieve_entity.py
  • Llama 3.2 Fehlersammlung:
    • Aufruf von Tool revise in Candidate Generator, manchmal Error in Checker while getting response: max_workers must be greater than 0 -> Tritt auf, weil alle bisher generierten Kandidaten syntaktisch korrekt sind, die zu überarbeitende Liste ist leer. Asynchroner Aufruf von async_chain_llm_call wird trotzdem gemacht, nur wird die Listenlänge als Threadzahl genommen, das mag Pythons Multithreading library nicht. Ist ein try-catch drum, sollte vermutlich harmlos sein.
    • Aufruf von Tool select_tables, bzw. ggf. fälschlicherweise <select_tables</tool_call> (statt <tool_call>select_tables</tool_call>: Error in agent schema_selector: list index out of range
    • Ollama hängt sich nach einer zufälligen Anzahl von Aufrufen auf, bis jetzt zweimal nach 3 fertig generierten Tasks (im vierten) und einmal nach neun (im fünften). Meine Vermutung ist, dass das an dem Modell-Wechsel beim Embeddings-Call in retrieve_entity liegt, mglw. genauer an der num_ctx (Kontextgröße). Problem: Das zu testen bedeutet Pakete upgraden, was bei Python sehr hässlich und schmerzhaft werden kann, da scheue ich noch etwas... Alternativ zu Ollama gäbe es noch vllm Link, keine Ahnung, wie das mit Kompatibilität von Templates etc. aussieht. -> Möglicherweise ist das behebbar, wenn genügend Ressourcen für alle Modelle gleichzeitig zur Verfügung stehen. export OLLAMA_KEEP_ALIVE=-1 führt potentiell dazu, dass die nicht mehr getauscht werden.
Edited by Erik Jonas Hartnick