|
21 | 21 | //! use utoipa::OpenApi; |
22 | 22 | //! use utoipa_swagger_ui::SwaggerUi; |
23 | 23 | //! |
24 | | -//! use mistralrs::{AutoDeviceMapParams, ChatCompletionChunkResponse, ModelDType, ModelSelected}; |
| 24 | +//! use mistralrs::{ |
| 25 | +//! AutoDeviceMapParams, ChatCompletionChunkResponse, ModelDType, ModelSelected, initialize_logging, |
| 26 | +//! }; |
25 | 27 | //! use mistralrs_server_core::{ |
26 | 28 | //! chat_completion::{ |
27 | 29 | //! ChatCompletionResponder, OnChunkCallback, OnDoneCallback, create_chat_streamer, |
|
51 | 53 | //! |
52 | 54 | //! #[derive(Clone)] |
53 | 55 | //! pub struct AppState { |
54 | | -//! pub mistral_state: SharedMistralRsState, |
| 56 | +//! pub mistralrs_state: SharedMistralRsState, |
55 | 57 | //! pub db_create: fn(), |
56 | 58 | //! } |
57 | 59 | //! |
58 | 60 | //! #[tokio::main] |
59 | 61 | //! async fn main() { |
| 62 | +//! initialize_logging(); |
| 63 | +//! |
60 | 64 | //! let plain_model_id = String::from("meta-llama/Llama-3.2-1B-Instruct"); |
61 | 65 | //! let tokenizer_json = None; |
62 | 66 | //! let arch = None; |
|
96 | 100 | //! .await |
97 | 101 | //! .unwrap(); |
98 | 102 | //! |
99 | | -//! let mistral_base_path = "/api/mistral"; |
| 103 | +//! let mistralrs_base_path = "/api/mistral"; |
100 | 104 | //! |
101 | | -//! let mistral_routes = MistralRsServerRouterBuilder::new() |
| 105 | +//! let mistralrs_routes = MistralRsServerRouterBuilder::new() |
102 | 106 | //! .with_mistralrs(shared_mistralrs.clone()) |
103 | 107 | //! .with_include_swagger_routes(false) |
104 | | -//! .with_base_path(mistral_base_path) |
| 108 | +//! .with_base_path(mistralrs_base_path) |
105 | 109 | //! .build() |
106 | 110 | //! .await |
107 | 111 | //! .unwrap(); |
108 | 112 | //! |
109 | | -//! let mistral_doc = get_openapi_doc(Some(mistral_base_path)); |
| 113 | +//! let mistralrs_doc = get_openapi_doc(Some(mistralrs_base_path)); |
110 | 114 | //! let mut api_docs = ApiDoc::openapi(); |
111 | | -//! api_docs.merge(mistral_doc); |
| 115 | +//! api_docs.merge(mistralrs_doc); |
112 | 116 | //! |
113 | 117 | //! let app_state = Arc::new(AppState { |
114 | | -//! mistral_state: shared_mistralrs, |
| 118 | +//! mistralrs_state: shared_mistralrs, |
115 | 119 | //! db_create: mock_db_call, |
116 | 120 | //! }); |
117 | 121 | //! |
118 | 122 | //! let app = Router::new() |
119 | 123 | //! .route("/", get(root)) |
120 | 124 | //! .route("/chat", post(custom_chat)) |
121 | 125 | //! .with_state(app_state.clone()) |
122 | | -//! .nest(mistral_base_path, mistral_routes) |
| 126 | +//! .nest(mistralrs_base_path, mistralrs_routes) |
123 | 127 | //! .merge(SwaggerUi::new("/api-docs").url("/api-docs/openapi.json", api_docs)); |
124 | 128 | //! |
125 | 129 | //! let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap(); |
|
151 | 155 | //! State(state): State<Arc<AppState>>, |
152 | 156 | //! Json(oai_request): Json<ChatCompletionRequest>, |
153 | 157 | //! ) -> ChatCompletionResponder { |
154 | | -//! let mistral_state = state.mistral_state.clone(); |
| 158 | +//! let mistralrs_state = state.mistralrs_state.clone(); |
155 | 159 | //! let (tx, mut rx) = create_response_channel(None); |
156 | 160 | //! |
157 | | -//! let (request, is_streaming) = match parse_request(oai_request, mistral_state.clone(), tx).await |
| 161 | +//! let (request, is_streaming) = match parse_request(oai_request, mistralrs_state.clone(), tx).await |
158 | 162 | //! { |
159 | 163 | //! Ok(x) => x, |
160 | | -//! Err(e) => return handle_chat_completion_error(mistral_state, e.into()), |
| 164 | +//! Err(e) => return handle_chat_completion_error(mistralrs_state, e.into()), |
161 | 165 | //! }; |
162 | 166 | //! |
163 | 167 | //! dbg!(request.clone()); |
164 | 168 | //! |
165 | | -//! if let Err(e) = send_request(&mistral_state, request).await { |
166 | | -//! return handle_chat_completion_error(mistral_state, e.into()); |
| 169 | +//! if let Err(e) = send_request(&mistralrs_state, request).await { |
| 170 | +//! return handle_chat_completion_error(mistralrs_state, e.into()); |
167 | 171 | //! } |
168 | 172 | //! |
169 | 173 | //! if is_streaming { |
|
185 | 189 | //! }); |
186 | 190 | //! |
187 | 191 | //! let streamer = |
188 | | -//! create_chat_streamer(rx, mistral_state.clone(), Some(on_chunk), Some(on_done)); |
| 192 | +//! create_chat_streamer(rx, mistralrs_state.clone(), Some(on_chunk), Some(on_done)); |
189 | 193 | //! |
190 | 194 | //! ChatCompletionResponder::Sse(streamer) |
191 | 195 | //! } else { |
192 | | -//! let response = process_non_streaming_chat_response(&mut rx, mistral_state.clone()).await; |
| 196 | +//! let response = process_non_streaming_chat_response(&mut rx, mistralrs_state.clone()).await; |
193 | 197 | //! |
194 | 198 | //! match &response { |
195 | 199 | //! ChatCompletionResponder::Json(json_response) => { |
196 | 200 | //! dbg!(json_response); |
| 201 | +//! (state.db_create)(); |
197 | 202 | //! } |
198 | 203 | //! _ => { |
199 | 204 | //! // |
|
0 commit comments