Format: application/x-python-code
⬇ Download File (2.6 KB)
   1  o
   2  
   3  ��h�	�@snddlZzddlmZddlmZWney)Gdd�d�ZGdd�d�ZYnwdZGd	d
   4  �d
   5  ee�ZdS)�N)�BaseProvider)�FakeListLLMc@�eZdZdS)rN��__name__�
   6  __module__�__qualname__�r	r	�Uc:\Users\shubh\Videos\agent\nova\Lib\site-packages\IPython/terminal/tests/fake_llm.pyr�rc@r)rNrr	r	r	r
   7  rrrzFdef fib(n):
   8      if n < 2: return n
   9      return fib(n - 1) + fib(n - 2)
  10  csHeZdZdZdZdZdgZ�fdd�Zdd�Zd	d
  11  �Z	ddd
  12  �Z
  13  �ZS)�FibonacciCompletionProviderZmy_providerzMy Provider�model�model_acs(dg|d<d|d<t�jdi|��dS)Nz2This fake response will not be used for completion�	responsesrZmodel_idr	)�super�__init__)�self�kwargs��	__class__r	r
  14  rs
  15  z$FibonacciCompletionProvider.__init__c�s
  16  �td��)Nz'IPython only supports streaming models.)�
  17  ValueError)r�requestr	r	r
  18  �generate_inline_completions"s�z7FibonacciCompletionProvider.generate_inline_completionscCs��ddlm}m}|jdksJ�d|j�d�}|j�d���d}t�|�s(dS||dd|d	�gd
  19  �|jd�V|�	tt
  20  |�d�|j|�2z	3dHW}|VqF6dS)Nr)�InlineCompletionList�InlineCompletionReply�t�s0�
  21  ������T)�
  22  insertTextZisIncomplete�token)�items)�list�reply_to)�jupyter_ai.completions.modelsrr�number�prefix�rstrip�
  23  splitlines�	FIBONACCI�
  24  startswith�_stream�len)rrrrr!�	last_lineZreplyr	r	r
  25  �stream_inline_completions%s*�
  26  
  27  ���	��z5FibonacciCompletionProvider.stream_inline_completionsrcCsz�ddlm}|}|�d�D] }t�d�IdH|r|d7}||7}|d||d�|dd�Vq|d||d�|d	d�VdS)
  28  Nr)�InlineCompletionStreamChunk� g�������?�stream)r r!F)�type�responser$�doneT)r%r0�split�asyncio�sleep)rZsentenceZrequest_numberr!Z
  29  start_withr0Z
  30  suggestion�fragmentr	r	r
  31  r,Bs(�
  32  ��z#FibonacciCompletionProvider._stream)r)rrr�id�nameZmodel_id_key�modelsrrr/r,�
  33  __classcell__r	r	rr
  34  rsr)r7Zjupyter_ai_magicsrZlangchain_community.llmsr�ImportErrorr*rr	r	r	r
  35  �<module>s�