o
    ÓÙ¾i·  ã                   @   sZ   d dl mZmZmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ G dd„ dƒZdS )	é    )ÚListÚOptionalÚUnion)Úget_chat_template)ÚChoicesDecisionÚChoicesSamplingMethod)ÚStreamExecutor)ÚSglSamplingParamsc                   @   sB  e Zd Zd3dd„Zdd„ Zdd„ Zd	efd
d„Zdefdd„Zde	ee
e f fdd„Zdefdd„Zde	ee
e f fdd„Zdefdd„Z	d4dede
e dee
e  fdd„Zdefdd„Zdedefd d!„Zdedefd"d#„Z	d4ded$e
e d%ed&ee def
d'd(„Zd)e
e d*efd+d,„Zd-d.„ Zd/d0„ Zd1d2„ ZdS )5ÚBaseBackendÚreturnNc                 C   s   d| _ tdƒ| _d S )NFÚdefault)Úsupport_concate_and_appendr   Úchat_template©Úself© r   úT/home/ubuntu/.local/lib/python3.10/site-packages/sglang/lang/backend/base_backend.pyÚ__init__
   s   zBaseBackend.__init__c                 C   ó   t ƒ ‚©N©ÚNotImplementedErrorr   r   r   r   Úget_model_name   ó   zBaseBackend.get_model_namec                 C   s   | j S r   )r   r   r   r   r   r      r   zBaseBackend.get_chat_templateÚ
prefix_strc                 C   ó   d S r   r   )r   r   r   r   r   Úcache_prefix   ó   zBaseBackend.cache_prefixÚridc                 C   r   r   r   ©r   r   r   r   r   Úuncache_prefix   r   zBaseBackend.uncache_prefixc                 C   r   r   r   r   r   r   r   Úend_request   r   zBaseBackend.end_requestÚsc                 C   r   r   r   ©r   r"   r   r   r   Úbegin_program   r   zBaseBackend.begin_programc                 C   r   r   r   r#   r   r   r   Úend_program    r   zBaseBackend.end_programc                 C   r   r   r   r#   r   r   r   Úcommit_lazy_operations#   r   z"BaseBackend.commit_lazy_operationsÚsrcÚdstÚposition_ids_offsetc                 C   r   r   r   )r   r'   r(   r)   r   r   r   Úfork_program&   s   zBaseBackend.fork_programc                 C   r   r   r   r#   r   r   r   Ú
fill_image.   r   zBaseBackend.fill_imageÚsampling_paramsc                 C   r   r   r   ©r   r"   r,   r   r   r   Úgenerate1   ó   zBaseBackend.generatec                 C   r   r   r   r-   r   r   r   Úgenerate_stream8   r/   zBaseBackend.generate_streamÚchoicesÚtemperatureÚchoices_methodc                 C   r   r   r   )r   r"   r1   r2   r3   r   r   r   Úselect?   s   zBaseBackend.selectÚsrc_ridsÚdst_ridc                 C   r   r   r   )r   r5   r6   r   r   r   Úconcatenate_and_appendH   r   z"BaseBackend.concatenate_and_appendc                 C   r   r   r   r   r   r   r   ÚshutdownK   r   zBaseBackend.shutdownc                 C   r   r   r   r   r   r   r   Úflush_cacheN   r   zBaseBackend.flush_cachec                 C   r   r   r   r   r   r   r   Úget_server_infoQ   r   zBaseBackend.get_server_info)r   Nr   )Ú__name__Ú
__module__Ú__qualname__r   r   r   Ústrr   r    r   r   r!   r   r$   r%   r&   r   Úintr*   r+   r	   r.   r0   Úfloatr   r   r4   r7   r8   r9   r:   r   r   r   r   r
   	   sZ    
üþý

üþ
ýþ
ýûþýüû
ú	r
   N)Útypingr   r   r   Úsglang.lang.chat_templater   Úsglang.lang.choicesr   r   Úsglang.lang.interpreterr   Úsglang.lang.irr	   r
   r   r   r   r   Ú<module>   s    