403Webshell
Server IP : 157.230.181.24  /  Your IP : 216.73.217.11
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux conductive 6.8.0-117-generic #117-Ubuntu SMP PREEMPT_DYNAMIC Tue May 5 19:26:24 UTC 2026 x86_64
User :  ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /proc/self/root/opt/aim-bots/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/opt/aim-bots/__pycache__/reply_retriever.cpython-312.pyc
�

��Yj%��l�dZddlmZddlZddlZddlZddlmZddlm	Z	ddl
mZd
d�ZGd�d	�Z
y)u9Fuzzy retrieval over archived AIM user→assistant pairs.�)�annotationsN)�SequenceMatcher)�Path)�is_followupc��tjdd|j�j��}tjdd|�S)Nz\s+� z
[^\w\s!?=.\-]�)�re�sub�lower�strip)�texts � /opt/aim-bots/reply_retriever.py�	normalizers7��
�6�6�&�#�t�z�z�|�1�1�3�4�D�
�6�6�"�B��-�-�c�R�eZdZdZdd	d�Zd
dd�Zdd�Z		d
							dd�Zddd�Zy)�ReplyRetrieverzFMap incoming lines to archived replies when the match is close enough.c��||_|j�sg|_g|_yt	j
|dd��5}t
j|�|_ddd�|jD�cgc]6}|jd�s�|jd�s�'t|d�|f��8c}|_y#1swY�[xYwcc}w)N�rtzutf-8)�encoding�user�	assistant)
�	min_ratio�exists�pairs�index�gzip�open�json�load�getr)�self�
pairs_pathr�fh�ps     r�__init__zReplyRetriever.__init__s���"���� � �"�%'�D�J�13�D�J��
�Y�Y�z�4�'�
:�	'�b����2��D�J�	'�9=���l�A�q�u�u�V�}�YZ�Y^�Y^�_j�Yk�y��6��+�Q�/�l��
�	'�	'��ls�B4�0C�C�C�4B=c�v�t|�}|r|jsgSg}t|�}|jD]k\}}tt|�|z
�t	d|dz�kDr�.td||�j
�}||jk\s�Y|j||f��m|jd���|d|S)N��c��|dS�Nr���xs r�<lambda>z&ReplyRetriever.match.<locals>.<lambda>,���1�Q�4�%�r��key)
rr�len�abs�maxr�ratior�append�sort)	r"�message�limit�q�scored�qlen�norm�pairr6s	         r�matchzReplyRetriever.match s����g�����
�
��I�+-���1�v���*�*�	-�J�D�$��3�t�9�t�#�$�s�2�t�a�x�'8�8��#�D�!�T�2�8�8�:�E�����&��
�
�u�d�m�,�	-�	�����(��f�u�~�rc
�.�|rt|�dkryd}t|dd�D]8}|jd�dk(s�t|dj	d�d�}n|sytd|t|jdd���j
�d	zS)
Nr)g����roler�content�
r	g{�G�z�?)r3�reversedr!r�splitrr6)r"�historyr?�	prev_user�msgs     r�_context_boostzReplyRetriever._context_boost/s����#�g�,��*���	��G�C�R�L�)�	�C��w�w�v��&�(�%�c�)�n�&:�&:�4�&@��&D�E�	��	����t�Y�	�$�(�(�6�2�:N�0O�P�V�V�X�[_�_�_rNc��t|�ry|j|d�}|syg}|D].\}}|j||�}|j||z||f��0|j	d���|d\}	}
}t|j
��dk}|r|jnd}
|
dk\r|dS|r,|
|
k\r't|j
��d	kr|
d
kry|dS|
dk\rt|�dk\r|dS|r|
|jk\r|dSy)N�c��|dSr+r,r-s rr/z+ReplyRetriever.best_reply.<locals>.<lambda>Nr0rr1r�g�(\���?g��Q���?rr)g)\��(�?g�������?)rr@rKr7r8r3rGr)r"r9rH�relaxed�hitsr<r6r?�boost�
best_total�
best_ratio�best�short�	thresholds              r�
best_replyzReplyRetriever.best_reply<s'���w����z�z�'�1�%�������	8�K�E�4��'�'���6�E��M�M�5�5�=�%��6�7�	8�	�����(�'-�a�y�$�
�J���G�M�M�O�$��)��&-�D�N�N�4�	������$�$��Z�9�,��7�=�=�?�#�q�(�Z�$�->����$�$����#�g�,�!�"3���$�$��z�T�^�^�3���$�$�rc���|j|d�}|r|dddkryg}|D]3\}}|dkrn)|jd|d�d|ddd	�d
|ddd	����5|syd}|rft|�d
k\rX|ddD�cgc]1}|jd�dk(s�|dj	d�ddd��3}	}|	rddj|	dd���}d|�d�dj|dd�zScc}w)zESimilar archived exchanges to steer the LLM without copying verbatim.rOrg�p=
ף�?Nz- (similarity z.0%z
) they said: r�Pu → you said: rr	r)���rCrDrErB�<z
Recent thread from Caleb: z | ���u^Similar moments from your real AIM logs (match the rhythm and length — write something NEW):�)r@r7r3r!rG�join)
r"r9rHrQ�linesr6r?�ctx�m�recents
          r�hint_for_llmzReplyRetriever.hint_for_llm`s>���z�z�'�1�%���t�A�w�q�z�D�(�����	�K�E�4��t�|���L�L� ��s��=��f��c�r�9J�8K�?�[_�`k�[l�mp�np�[q�Zr�s�
�	������s�7�|�q�(�AH����i�A�QR�QV�QV�W]�Q^�bh�Qh�a�	�l�(�(��.�r�2�3�B�7�i�F�i��4�U�Z�Z��r�s��5L�4M�N��l��e�2�
����5��!�9�-�
.�	
��js�7C#�C#)g
ףp=
�?)r#rr�float�return�None)rO)r9�strr:�intrfzlist[tuple[float, dict]])rH�list[dict] | Noner?�dictrfre)NF)r9rhrHrjrP�boolrf�
str | None)N)r9rhrHrjrfrm)	�__name__�
__module__�__qualname__�__doc__r&r@rKrXrdr,rrrrsO��P�m�
�`� &*��	"��"�#�"��	"�

�"�H
rr)rrhrfrh)rq�
__future__rrrr
�difflibr�pathlibr�	coherencerrrr,rr�<module>rvs.��?�"���	�#��!�.�
c
�c
r

Youez - 2016 - github.com/yon3zu
LinuXploit