|
1 | 1 | use common::{ |
2 | | - configuration::{LlmRoute, ModelUsagePreference}, |
| 2 | + configuration::{ModelUsagePreference, RoutingPreference}, |
3 | 3 | consts::{SYSTEM_ROLE, TOOL_ROLE, USER_ROLE}, |
4 | 4 | }; |
5 | 5 | use hermesllm::providers::openai::types::{ChatCompletionsRequest, ContentType, Message}; |
@@ -36,7 +36,11 @@ pub struct RouterModelV1 { |
36 | 36 | max_token_length: usize, |
37 | 37 | } |
38 | 38 | impl RouterModelV1 { |
39 | | - pub fn new(llm_routes: Vec<LlmRoute>, routing_model: String, max_token_length: usize) -> Self { |
| 39 | + pub fn new( |
| 40 | + llm_routes: Vec<RoutingPreference>, |
| 41 | + routing_model: String, |
| 42 | + max_token_length: usize, |
| 43 | + ) -> Self { |
40 | 44 | let llm_route_json_str = |
41 | 45 | serde_json::to_string(&llm_routes).unwrap_or_else(|_| "[]".to_string()); |
42 | 46 | RouterModelV1 { |
@@ -138,9 +142,9 @@ impl RouterModel for RouterModelV1 { |
138 | 142 | let llm_route_json = usage_preferences |
139 | 143 | .as_ref() |
140 | 144 | .map(|prefs| { |
141 | | - let llm_route: Vec<LlmRoute> = prefs |
| 145 | + let llm_route: Vec<RoutingPreference> = prefs |
142 | 146 | .iter() |
143 | | - .map(|pref| LlmRoute { |
| 147 | + .map(|pref| RoutingPreference { |
144 | 148 | name: pref.name.clone(), |
145 | 149 | description: pref.usage.clone().unwrap_or_default(), |
146 | 150 | }) |
@@ -255,7 +259,7 @@ Based on your analysis, provide your response in the following JSON formats if y |
255 | 259 | {"name": "Speech Recognition", "description": "Converting spoken language into written text"} |
256 | 260 | ] |
257 | 261 | "#; |
258 | | - let llm_routes = serde_json::from_str::<Vec<LlmRoute>>(routes_str).unwrap(); |
| 262 | + let llm_routes = serde_json::from_str::<Vec<RoutingPreference>>(routes_str).unwrap(); |
259 | 263 | let routing_model = "test-model".to_string(); |
260 | 264 | let router = RouterModelV1::new(llm_routes, routing_model.clone(), usize::MAX); |
261 | 265 |
|
@@ -314,7 +318,7 @@ Based on your analysis, provide your response in the following JSON formats if y |
314 | 318 | {"name": "Speech Recognition", "description": "Converting spoken language into written text"} |
315 | 319 | ] |
316 | 320 | "#; |
317 | | - let llm_routes = serde_json::from_str::<Vec<LlmRoute>>(routes_str).unwrap(); |
| 321 | + let llm_routes = serde_json::from_str::<Vec<RoutingPreference>>(routes_str).unwrap(); |
318 | 322 | let routing_model = "test-model".to_string(); |
319 | 323 | let router = RouterModelV1::new(llm_routes, routing_model.clone(), usize::MAX); |
320 | 324 |
|
@@ -379,7 +383,7 @@ Based on your analysis, provide your response in the following JSON formats if y |
379 | 383 | {"name": "Speech Recognition", "description": "Converting spoken language into written text"} |
380 | 384 | ] |
381 | 385 | "#; |
382 | | - let llm_routes = serde_json::from_str::<Vec<LlmRoute>>(routes_str).unwrap(); |
| 386 | + let llm_routes = serde_json::from_str::<Vec<RoutingPreference>>(routes_str).unwrap(); |
383 | 387 | let routing_model = "test-model".to_string(); |
384 | 388 | let router = RouterModelV1::new(llm_routes, routing_model.clone(), 235); |
385 | 389 |
|
@@ -440,7 +444,7 @@ Based on your analysis, provide your response in the following JSON formats if y |
440 | 444 | {"name": "Speech Recognition", "description": "Converting spoken language into written text"} |
441 | 445 | ] |
442 | 446 | "#; |
443 | | - let llm_routes = serde_json::from_str::<Vec<LlmRoute>>(routes_str).unwrap(); |
| 447 | + let llm_routes = serde_json::from_str::<Vec<RoutingPreference>>(routes_str).unwrap(); |
444 | 448 | let routing_model = "test-model".to_string(); |
445 | 449 | let router = RouterModelV1::new(llm_routes, routing_model.clone(), 200); |
446 | 450 |
|
@@ -501,7 +505,7 @@ Based on your analysis, provide your response in the following JSON formats if y |
501 | 505 | {"name": "Speech Recognition", "description": "Converting spoken language into written text"} |
502 | 506 | ] |
503 | 507 | "#; |
504 | | - let llm_routes = serde_json::from_str::<Vec<LlmRoute>>(routes_str).unwrap(); |
| 508 | + let llm_routes = serde_json::from_str::<Vec<RoutingPreference>>(routes_str).unwrap(); |
505 | 509 | let routing_model = "test-model".to_string(); |
506 | 510 | let router = RouterModelV1::new(llm_routes, routing_model.clone(), 230); |
507 | 511 |
|
@@ -569,7 +573,7 @@ Based on your analysis, provide your response in the following JSON formats if y |
569 | 573 | {"name": "Speech Recognition", "description": "Converting spoken language into written text"} |
570 | 574 | ] |
571 | 575 | "#; |
572 | | - let llm_routes = serde_json::from_str::<Vec<LlmRoute>>(routes_str).unwrap(); |
| 576 | + let llm_routes = serde_json::from_str::<Vec<RoutingPreference>>(routes_str).unwrap(); |
573 | 577 | let routing_model = "test-model".to_string(); |
574 | 578 | let router = RouterModelV1::new(llm_routes, routing_model.clone(), usize::MAX); |
575 | 579 |
|
@@ -639,7 +643,7 @@ Based on your analysis, provide your response in the following JSON formats if y |
639 | 643 | {"name": "Speech Recognition", "description": "Converting spoken language into written text"} |
640 | 644 | ] |
641 | 645 | "#; |
642 | | - let llm_routes = serde_json::from_str::<Vec<LlmRoute>>(routes_str).unwrap(); |
| 646 | + let llm_routes = serde_json::from_str::<Vec<RoutingPreference>>(routes_str).unwrap(); |
643 | 647 | let routing_model = "test-model".to_string(); |
644 | 648 | let router = RouterModelV1::new(llm_routes, routing_model.clone(), usize::MAX); |
645 | 649 |
|
@@ -716,7 +720,7 @@ Based on your analysis, provide your response in the following JSON formats if y |
716 | 720 | {"name": "Speech Recognition", "description": "Converting spoken language into written text"} |
717 | 721 | ] |
718 | 722 | "#; |
719 | | - let llm_routes = serde_json::from_str::<Vec<LlmRoute>>(routes_str).unwrap(); |
| 723 | + let llm_routes = serde_json::from_str::<Vec<RoutingPreference>>(routes_str).unwrap(); |
720 | 724 |
|
721 | 725 | let router = RouterModelV1::new(llm_routes, "test-model".to_string(), 2000); |
722 | 726 |
|
|
0 commit comments