From b2fef25a5269f23ef09018a2c3d55156532fc481 Mon Sep 17 00:00:00 2001 From: sigoden Date: Tue, 3 Sep 2024 12:42:48 +0800 Subject: refactor: gemini use batch embedding api (#827) --- src/client/gemini.rs | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) (limited to 'src/client/gemini.rs') diff --git a/src/client/gemini.rs b/src/client/gemini.rs index 9578e23..1bb31cc 100644 --- a/src/client/gemini.rs +++ b/src/client/gemini.rs @@ -74,20 +74,33 @@ fn prepare_embeddings(self_: &GeminiClient, data: EmbeddingsData) -> Result = data + .texts + .iter() + .map(|text| { + json!({ + "model": model_id, + "content": { + "parts": [ + { + "text": text + } + ] + }, + }) + }) + .collect(); + let body = json!({ - "content": { - "parts": [ - { - "text": data.texts[0], - } - ] - } + "requests": requests, }); let request_data = RequestData::new(url, body); @@ -104,13 +117,17 @@ async fn embeddings(builder: RequestBuilder, _model: &Model) -> Result, } #[derive(Deserialize)] -- cgit v1.2.3