|
1 | 1 | use crate::{ |
2 | 2 | mcp_client::{ |
3 | 3 | chat::ChatSession, |
4 | | - client::{common::{ChatClient, StreamingChatClient}, gemini::GeminiClient, openai::OpenAIClient}, |
| 4 | + client::{common::{ChatClient, StreamingChatClient}, llm::LlmClient}, |
5 | 5 | }, |
6 | 6 | GlobalToolSet, |
7 | 7 | }; |
@@ -47,9 +47,9 @@ pub async fn send_message( |
47 | 47 | println!("Creating new session with provider: {}, api_key length: {}", |
48 | 48 | request.provider, request.api_key.len()); |
49 | 49 | let client: Arc<dyn ChatClient> = if request.provider == "google" { |
50 | | - Arc::new(GeminiClient::new(request.api_key.clone(), request.base_url.clone(), None)) |
| 50 | + Arc::new(LlmClient::new_gemini(request.api_key.clone(), request.base_url.clone(), None)) |
51 | 51 | } else { |
52 | | - Arc::new(OpenAIClient::new(request.api_key.clone(), request.base_url.clone(), None)) |
| 52 | + Arc::new(LlmClient::new_openai(request.api_key.clone(), request.base_url.clone(), None)) |
53 | 53 | }; |
54 | 54 | let mut new_session = ChatSession::new(client, (*tool_set.0).clone(), request.model); |
55 | 55 | new_session |
@@ -125,9 +125,9 @@ pub async fn send_message_stream( |
125 | 125 | println!("Creating new session with provider: {}, api_key length: {}", |
126 | 126 | request.provider, request.api_key.len()); |
127 | 127 | let client: Arc<dyn ChatClient> = if request.provider == "google" { |
128 | | - Arc::new(GeminiClient::new(request.api_key.clone(), request.base_url.clone(), None)) |
| 128 | + Arc::new(LlmClient::new_gemini(request.api_key.clone(), request.base_url.clone(), None)) |
129 | 129 | } else { |
130 | | - Arc::new(OpenAIClient::new(request.api_key.clone(), request.base_url.clone(), None)) |
| 130 | + Arc::new(LlmClient::new_openai(request.api_key.clone(), request.base_url.clone(), None)) |
131 | 131 | }; |
132 | 132 | let mut new_session = ChatSession::new(client, (*tool_set.0).clone(), request.model); |
133 | 133 | new_session |
@@ -184,13 +184,13 @@ pub async fn send_message_stream( |
184 | 184 | println!("🔥 Calling streaming method for provider: {}", request.provider); |
185 | 185 | let result = if request.provider == "google" { |
186 | 186 | println!("📡 Using Gemini streaming"); |
187 | | - let gemini_client = GeminiClient::new(request.api_key.clone(), request.base_url.clone(), None); |
188 | | - gemini_client.complete_stream(stream_request, callback).await |
| 187 | + let llm_client = LlmClient::new_gemini(request.api_key.clone(), request.base_url.clone(), None); |
| 188 | + llm_client.complete_stream(stream_request, callback).await |
189 | 189 | } else { |
190 | 190 | println!("📡 Using OpenAI-compatible streaming for provider: {}", request.provider); |
191 | 191 | // OpenAI-compatible providers (OpenAI, Ollama, OpenRouter, Anthropic, etc.) |
192 | | - let openai_client = OpenAIClient::new(request.api_key.clone(), request.base_url.clone(), None); |
193 | | - openai_client.complete_stream(stream_request, callback).await |
| 192 | + let llm_client = LlmClient::new_openai(request.api_key.clone(), request.base_url.clone(), None); |
| 193 | + llm_client.complete_stream(stream_request, callback).await |
194 | 194 | }; |
195 | 195 | println!("🎯 Streaming method result: {:?}", result.is_ok()); |
196 | 196 |
|
|
0 commit comments