96 lines
3.0 KiB
Python
Executable File
96 lines
3.0 KiB
Python
Executable File
import sys
|
|
import os
|
|
import traceback
|
|
import datetime
|
|
|
|
# --- PLIKI ---
|
|
LOG_FILE = "/home/pali112/rag_debug.txt"
|
|
OUTPUT_FILE = "/home/pali112/deep_odpowiedz.md"
|
|
|
|
|
|
def log(message):
|
|
"""Zapisuje logi do pliku, żebyśmy widzieli co się dzieje"""
|
|
with open(LOG_FILE, "a", encoding="utf-8") as f:
|
|
f.write(f"[{datetime.datetime.now()}] {message}\n")
|
|
|
|
def main():
|
|
# Czyścimy log przy każdym uruchomieniu
|
|
with open(LOG_FILE, "w", encoding="utf-8") as f:
|
|
f.write("--- START SKRYPTU ---\n")
|
|
|
|
log("1. Skrypt uruchomiony.")
|
|
|
|
# Dodajemy ścieżkę do importów
|
|
sys.path.append("/home/pali112")
|
|
log(f"2. Ścieżka sys.path: {sys.path}")
|
|
|
|
try:
|
|
# 3. Próba importu
|
|
log("3. Próbuję importować qa_chain z connect_chaint...")
|
|
try:
|
|
from connect_chaint import qa_chain
|
|
log(" -> Import SUKCES.")
|
|
except ImportError as e:
|
|
log(f" -> BŁĄD IMPORTU: {e}")
|
|
log(traceback.format_exc())
|
|
raise e
|
|
except Exception as e:
|
|
log(f" -> INNY BŁĄD PODCZAS IMPORTU: {e}")
|
|
log(traceback.format_exc())
|
|
raise e
|
|
|
|
# 4. Czytanie wejścia z Vima
|
|
log("4. Czytam stdin...")
|
|
try:
|
|
input_text = sys.stdin.read().strip()
|
|
except Exception as e:
|
|
input_text = ""
|
|
log(f" -> Błąd czytania stdin: {e}")
|
|
|
|
log(f" -> Długość wejścia: {len(input_text)} znaków")
|
|
|
|
if not input_text:
|
|
msg = "Błąd: Vim nie przekazał żadnego tekstu na wejście."
|
|
log(msg)
|
|
with open(OUTPUT_FILE, "w", encoding="utf-8") as f:
|
|
f.write(f"# BŁĄD\n{msg}")
|
|
return
|
|
|
|
# 5. Uruchamianie AI
|
|
log("5. Uruchamiam qa_chain.invoke()...")
|
|
response = qa_chain.invoke(input_text)
|
|
log(" -> AI odpowiedziało.")
|
|
|
|
# Wyciąganie wyniku
|
|
if isinstance(response, dict) and "result" in response:
|
|
final_answer = response["result"]
|
|
else:
|
|
final_answer = str(response)
|
|
|
|
# Czyszczenie <think>
|
|
if "<think>" in final_answer:
|
|
final_answer = final_answer.split("</think>")[-1].strip()
|
|
|
|
# 6. Zapis wyniku
|
|
log("6. Zapisuję wynik do pliku md.")
|
|
with open(OUTPUT_FILE, "w", encoding="utf-8") as f:
|
|
f.write("# Odpowiedź Build123d\n\n")
|
|
f.write(final_answer)
|
|
|
|
log("--- KONIEC SUKCES ---")
|
|
|
|
except Exception as e:
|
|
error_message = traceback.format_exc()
|
|
log(f"!!! KRYTYCZNY BŁĄD SKRYPTU !!!\n{error_message}")
|
|
|
|
# Zapisz błąd też do pliku md, żebyś widział go w Vimie
|
|
with open(OUTPUT_FILE, "w", encoding="utf-8") as f:
|
|
f.write("# BŁĄD KRYTYCZNY SKRYPTU PYTHON\n\n")
|
|
f.write("Sprawdź plik: /home/pali112/rag_debug.txt\n\n")
|
|
f.write("```\n")
|
|
f.write(error_message)
|
|
f.write("\n```")
|
|
|
|
if __name__ == "__main__":
|
|
main()
|