chore: read model field off of Config instead of maintaining the parallel field

This commit is contained in:
Michael Bolin
2025-07-10 14:31:38 -07:00
parent 8a424fcfa3
commit 64b69f82aa
+4 -7
View File
@@ -42,7 +42,6 @@ use std::sync::Arc;
#[derive(Clone)]
pub struct ModelClient {
config: Arc<Config>,
model: String,
client: reqwest::Client,
provider: ModelProviderInfo,
effort: ReasoningEffortConfig,
@@ -56,10 +55,8 @@ impl ModelClient {
effort: ReasoningEffortConfig,
summary: ReasoningSummaryConfig,
) -> Self {
let model = config.model.clone();
Self {
config,
model: model.to_string(),
client: reqwest::Client::new(),
provider,
effort,
@@ -76,7 +73,7 @@ impl ModelClient {
WireApi::Chat => {
// Create the raw streaming connection first.
let response_stream =
stream_chat_completions(prompt, &self.model, &self.client, &self.provider)
stream_chat_completions(prompt, &self.config.model, &self.client, &self.provider)
.await?;
// Wrap it with the aggregation adapter so callers see *only*
@@ -111,11 +108,11 @@ impl ModelClient {
return stream_from_fixture(path).await;
}
let full_instructions = prompt.get_full_instructions(&self.model);
let tools_json = create_tools_json_for_responses_api(prompt, &self.model)?;
let full_instructions = prompt.get_full_instructions(&self.config.model);
let tools_json = create_tools_json_for_responses_api(prompt, &self.config.model)?;
let reasoning = create_reasoning_param_for_request(&self.config, self.effort, self.summary);
let payload = ResponsesApiRequest {
model: &self.model,
model: &self.config.model,
instructions: &full_instructions,
input: &prompt.input,
tools: &tools_json,