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 if "" in final_answer: final_answer = final_answer.split("")[-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()