diff options
| author | sigoden <sigoden@gmail.com> | 2024-05-22 21:29:23 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-22 21:29:23 +0800 |
| commit | ba3bcfd67c1d6fea5d3d3c5908c975682ee7909b (patch) | |
| tree | 29811c719f131f946cd37634507885ee8c63534d /src/client/claude.rs | |
| parent | 91a06543b24733cf578f3f2d4cb0884e2b18cf2f (diff) | |
| download | aichat-ba3bcfd67c1d6fea5d3d3c5908c975682ee7909b.tar.gz | |
feat: allow patching req body with client config (#534)
Diffstat (limited to 'src/client/claude.rs')
| -rw-r--r-- | src/client/claude.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/client/claude.rs b/src/client/claude.rs index 8dc4dce..6296cda 100644 --- a/src/client/claude.rs +++ b/src/client/claude.rs @@ -1,7 +1,7 @@ use super::{ - catch_error, extract_system_message, message::*, sse_stream, ClaudeClient, CompletionOutput, - ExtraConfig, ImageUrl, MessageContent, MessageContentPart, Model, ModelData, PromptAction, - PromptKind, SendData, SsMmessage, SseHandler, ToolCall, + catch_error, extract_system_message, message::*, sse_stream, ClaudeClient, Client, + CompletionOutput, ExtraConfig, ImageUrl, MessageContent, MessageContentPart, Model, ModelData, + ModelPatches, PromptAction, PromptKind, SendData, SsMmessage, SseHandler, ToolCall, }; use anyhow::{bail, Context, Result}; @@ -17,6 +17,7 @@ pub struct ClaudeConfig { pub api_key: Option<String>, #[serde(default)] pub models: Vec<ModelData>, + pub patches: Option<ModelPatches>, pub extra: Option<ExtraConfig>, } @@ -29,7 +30,8 @@ impl ClaudeClient { fn request_builder(&self, client: &ReqwestClient, data: SendData) -> Result<RequestBuilder> { let api_key = self.get_api_key().ok(); - let body = claude_build_body(data, &self.model)?; + let mut body = claude_build_body(data, &self.model)?; + self.patch_request_body(&mut body); let url = API_BASE; |
