
    ֲh*              	           d dl Z d dlZdZd dlmZ d dlmZmZ dZdZ	 ej                  dej                        Zded	efd
Zddededed	efdZy)    NT)OpenAI)query_rag_context_from_dbbuild_rag_augmented_promptzgpt-4o-miniuk  Du bist ein präziser, faktenorientierter Assistent.
Nutze – wenn passend – den bereitgestellten Kontext aus den Realcube-Dokumenten.
Wenn der Kontext nicht passt, antworte ohne ihn zu zitieren.
Halte die Antwort fachlich, klar und kompakt (deutsch).

Antworte IMMER in diesem Format:
1) Stelle die Kernpunkte der Realcube Leistungen im Kontext in <3–5 Bulletpoints> dar. Liste einfach die Bulletpoints ohne Einleitung oder Überschrift. Alle Bulletpoints bitte in einzelnen Zeilen und nicht fettgedruckt.
2) REALCUBE-Mehrwert: Beginne mit „Mit der Realcube-Plattform …“ und erläutere in 1–2 Sätzen, was dadurch möglich wird, was sonst nicht möglich wäre (auch wenn kein Kontext genutzt wurde).
3) Erwähne, dass die Realcube Plattform KI verwendet, wenn der Use-Case passt und erkläre fallabhängig wie die Ergebnisse dadurch verbessert werden können. 
z>\$\$[\s\S]*?\$\$|\\\[[\s\S]*?\\\]|\\\([\s\S]*?\\\)|\$[^$\n]*\$sreturnc                 j    t         j                  d|       j                  dd      j                         S )N z   )LATEX_REsubreplacestrip)r   s    '/var/www/html/dynbot5004/rag_service.pystrip_latexr      s)    <<A&&tS17799    
user_query	tenant_idtop_kc           
      T   t        | ||      }|j                  d      xs d}|j                  dg       }t        r`t        dt	        |       d| d| d	       |d d
 D ]"  }t        d|d    d|d    d|d   dd	       $ t        d|d d xs dz   d	       |j                         st        | d      }nt        | |      }t        rYt        dd	       t        |d	       t        dd	       t        dd	       t        t        j                         d   dz   d	       t               }|j                  j                  j                  t        ddt        dd|dg      }	|	j                  d   j                  j                   xs dj                         }
d|
vr|
d z  }
|||
d!S )"N)r   r   contextr	   matchesu   🧩 RAG: matches=z top_k=z tenant=T)flush   u      · [rankz] titlez  sim=
similarityz.3fu   🧩 RAG context preview:
i  z(empty)u   🧩 RAG prompt >>>z<<< END RAG promptu   🧩 RAG system >>>r   u    …g?system)rolecontentuser)modeltemperaturemessageszREALCUBE-Mehrwertu"  

REALCUBE-Mehrwert: Mit der Realcube-Plattform werden Quell- und Zieldaten aus heterogenen Systemen konsolidiert, laufend aktualisiert und KI-auswertbar gemacht – Analysen und Prognosen lassen sich damit in Qualität und Taktung erreichen, die sonst in dieser Form nicht möglich wären.)r   r   addendum)r   getLOG_RAGprintlenr   r   
RAG_SYSTEM
splitlinesr   chatcompletionscreateOPENAI_MODELchoicesmessager   )r   r   r   resr   r   mpromptclientr+   r$   s              r   generate_rag_addendumr5   !   s   
#J)5
QCggi &BGggi$G"3w<.whykRZ^_! 	^AGAfI;b7F1\?3:OPX\]	^+wu~/JKSWX==? ,J;+J@#40fD!"$/#40j##%a(61>XF;;""))*5/
 * D Q''//52<<>H (*b	
 7IIr   )   )osrer&   openair   rag_dbr   r   r.   r)   compileSr   strr   intdictr5    r   r   <module>rA      s{    	 	
  H	
 2:: $$:3 :3 :-Jc -Jc -J# -Jd -Jr   