
    Pi!                        d Z ddlmZ ddlZddlZddlZddlZddlmZ ddl	m
Z
mZmZmZ ddlmZmZ d Zedk    r e             dS dS )	aY  Example FastAPI server for llama.cpp.

To run this example:

```bash
pip install fastapi uvicorn sse-starlette pydantic-settings
export MODEL=../models/7B/...
```

Then run:
```
uvicorn llama_cpp.server.app:create_app --reload
```

or

```
python3 -m llama_cpp.server
```

Then visit http://localhost:8000/docs to see the interactive API docs.

    )annotationsN)
create_app)SettingsServerSettingsModelSettingsConfigFileSettings)add_args_from_modelparse_model_from_argsc            
     *   d} t          j        |           }t          |t                     |                    dt
          d           d }g }|                                }	 t          j        	                    d|j
                  }|r	t          j                            |          st          d| d          t          |d	          5 }|                    d
          s|                    d          rCdd l}dd l}t%          j        |                    |                    |                              }	n&t%          j        |                                          }	t/          j        |	          }|	j        }d d d            n# 1 swxY w Y   n+t5          t.          |          }t5          t6          |          g}nZ# t8          $ rM}
t;          |
t<          j                   |                                  t=          j!        d           Y d }
~
nd }
~
ww xY w|J |J tE          ||          }tG          j$        |t          j%        d|j&                  tO          t          j%        d|j(                            |j)        |j*                   d S )Nu5   🦙 Llama.cpp python server. Host your own LLMs!🚀)descriptionz--config_filezPath to a config file to load.)typehelpCONFIG_FILEzConfig file z not found!rbz.yamlz.ymlr   )file   )server_settingsmodel_settingsHOSTPORT)hostportssl_keyfilessl_certfile)+argparseArgumentParserr	   r   add_argumentstr
parse_argsosenvirongetconfig_filepathexists
ValueErroropenendswithyamljsonr   model_validate_jsondumps	safe_loadreadr   model_validatemodelsr
   r   	Exceptionprintsysstderr
print_helpexitr   uvicornrungetenvr   intr   r   r   )r   parserr   r   argsr#   fr)   r*   config_file_settingseapps               m/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/llama_cpp/server/__main__.pymainrB   +   s   IK$===F)))
-    
 .2O*,NDjnn]D4DEE 	J7>>+.. J !H!H!H!HIIIk4(( =A''00 
K4H4H4P4P 
KKKKKK+=+Q

4>>!#4#455, ,(( ,>+Q, ,( #1"?@T"U"U!5!<= = = = = = = = = = = = = = =  4NDIIO3M4HHIN   acj!!!! &&&%%%
'%  C KYv3446?#78899#/$1     s?   #A*G  B/F<G  FG  F/G   
H
AHH__main__)__doc__
__future__r   r    r3   r   r7   llama_cpp.server.appr   llama_cpp.server.settingsr   r   r   r   llama_cpp.server.clir	   r
   rB   __name__     rA   <module>rL      s    0 # " " " " " 				 



   + + + + + +            L K K K K K K K5 5 5p zDFFFFF rK   