
    dhP                        S SK Jr  S SKrS SKrS SKrS SKJrJrJrJ	r	J
r
  S SKJr  \(       a  S SKJr  \R                  " \5      r  " S S5      rg)    )annotationsN)TYPE_CHECKINGAnyDictListOptional)Document)
Connectionc                  <    \ rS rSrSr S     SS jjrS	S jrSrg)
OracleSummary   z`Get Summary
Args:
    conn: Oracle Connection,
    params: Summary parameters,
    proxy: Proxy
Nc                (    Xl         X0l        X l        g Nconnproxysummary_params)selfr   paramsr   s       ^/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/utilities/oracleai.py__init__OracleSummary.__init__"   s     	
$    c                    SSK nUc  / $ / n SUR                  l        U R                  R                  5       nU R                  (       a  UR                  SU R                  S9  [        U[        5      (       a  / nUR                  UR                  5      nUR                  SU[        R                  " U R                  5      US9  Uc  UR                  S	5        GOUR                  [        UR!                  5       5      5        GO[        U["        5      (       a  / nUR                  UR                  5      nUR                  SUR$                  [        R                  " U R                  5      US9  Uc  UR                  S	5        GOQUR                  [        UR!                  5       5      5        GO'[        U[&        5      (       Ga  / nU H  nUR                  UR                  5      n[        U[        5      (       a1  UR                  S
U[        R                  " U R                  5      US9  O[[        U["        5      (       a;  UR                  S
UR$                  [        R                  " U R                  5      US9  O[)        S5      eUc  UR                  S	5        M  UR                  [        UR!                  5       5      5        M     O[)        S5      eUR+                  5         U$ ! [         a  n[        S5      UeSnAff = f! [(         aC  n[,        R/                  SU 35        [0        R2                  " 5         WR+                  5         e SnAff = f)zGet the summary of the input docs.
Args:
    docs: The documents to generate summary for.
          Allowed input types: str, Document, List[str], List[Document]
Returns:
    List of summary text, one for each input doc.
r   NzIUnable to import oracledb, please install with `pip install -U oracledb`.Fz&begin utl_http.set_proxy(:proxy); end;)r   z
                    declare
                        input clob;
                    begin
                        input := :data;
                        :summ := dbms_vector_chain.utl_to_summary(input, json(:params));
                    end;)datar   summ aQ  
                            declare
                                input clob;
                            begin
                                input := :data;
                                :summ := dbms_vector_chain.utl_to_summary(input, 
                                            json(:params));
                            end;zInvalid input typezAn exception occurred :: )oracledbImportErrordefaults
fetch_lobsr   cursorr   execute
isinstancestrvarDB_TYPE_CLOBjsondumpsr   appendgetvaluer	   page_contentr   	Exceptioncloseloggerinfo	traceback	print_exc)	r   docsr   eresultsr"   summarydocexs	            r   get_summaryOracleSummary.get_summary)   s   	 <Ij	+0H(YY%%'Fzz<DJJ   $$$ **X%:%:; ::d&9&9:    ?NN2&NN3w'7'7'9#:;D(++ **X%:%:; **::d&9&9:    ?NN2&NN3w'7'7'9#:;D$''C$jj)>)>?G!#s++$ "%#'::d.A.A#B!( '  $C22$ "%!1!1#'::d.A.A#B!( '  ((<==r*s7+;+;+='>?M  R   455LLNN]  	- 	`  	KK3B489!LLN		s/   K+ KL	 +
L5LL	
M>MMr   r   )r   r
   r   zDict[str, Any]r   zOptional[str])r3   r   returnz	List[str])__name__
__module____qualname____firstlineno____doc__r   r9   __static_attributes__ r   r   r   r      s1     PT%%(6%?L%r   r   )
__future__r   r(   loggingr1   typingr   r   r   r   r   langchain_core.documentsr	   r   r
   	getLoggerr<   r/   r   rB   r   r   <module>rH      sG    #    ; ; -#			8	$ N Nfr   