summaryrefslogtreecommitdiffstats
path: root/src/client/localai.rs
diff options
context:
space:
mode:
authorKelvie Wong <kelvie@kelvie.ca>2024-01-30 03:43:55 -0800
committerGitHub <noreply@github.com>2024-01-30 19:43:55 +0800
commit176ff6f83ecfcf044a7deffad61a33b43480cdc5 (patch)
tree3a93f3f2c8249c396b9ef953bbd15b22c2a1be00 /src/client/localai.rs
parenta30c3cc4c1757245e704273b047b44edb8293602 (diff)
downloadaichat-176ff6f83ecfcf044a7deffad61a33b43480cdc5.tar.gz
feat: add `extra_fields` to models of localai/ollama clients (#298)
* Add an "extra_fields" config to localai models Because there are so many local AIs out there with a bunch of custom parameters you can set, this allows users to send in extra parameters to a local LLM runner, such as, e.g. `instruction_template: Alpaca`, so that Mixtral can take a system prompt. * support ollama --------- Co-authored-by: sigoden <sigoden@gmail.com>
Diffstat (limited to 'src/client/localai.rs')
-rw-r--r--src/client/localai.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/client/localai.rs b/src/client/localai.rs
index 3bc0670..7795039 100644
--- a/src/client/localai.rs
+++ b/src/client/localai.rs
@@ -45,6 +45,7 @@ impl LocalAIClient {
Model::new(client_name, &v.name)
.set_capabilities(v.capabilities)
.set_max_tokens(v.max_tokens)
+ .set_extra_fields(v.extra_fields.clone())
.set_tokens_count_factors(OPENAI_TOKENS_COUNT_FACTORS)
})
.collect()
@@ -53,7 +54,8 @@ impl LocalAIClient {
fn request_builder(&self, client: &ReqwestClient, data: SendData) -> Result<RequestBuilder> {
let api_key = self.get_api_key().ok();
- let body = openai_build_body(data, self.model.name.clone());
+ let mut body = openai_build_body(data, self.model.name.clone());
+ self.model.merge_extra_fields(&mut body);
let chat_endpoint = self
.config