Better error logging

This commit is contained in:
2024-03-01 13:40:02 +00:00
parent 8e9a186ba9
commit d7f041fa95

View File

@@ -65,13 +65,21 @@ impl<T: TokenProvider + Clone> GeminiClient<T> {
.bearer_auth(access_token) .bearer_auth(access_token)
.json(&request); .json(&request);
let mut event_source = EventSource::new(req).unwrap(); let mut event_source = EventSource::new(req).unwrap();
while let Some(Ok(event)) = event_source.next().await { while let Some(event) = event_source.next().await {
match event {
Ok(event) => {
if let Event::Message(event) = event { if let Event::Message(event) = event {
let response: GenerateContentResponse = let response: GenerateContentResponse =
serde_json::from_str(&event.data).unwrap(); serde_json::from_str(&event.data).unwrap();
cloned_queue.push(Some(response)); cloned_queue.push(Some(response));
} }
} }
Err(e) => {
tracing::error!("Error in event source: {:?}", e);
break;
}
}
}
cloned_queue.push(None); cloned_queue.push(None);
}); });
@@ -97,6 +105,7 @@ impl<T: TokenProvider + Clone> GeminiClient<T> {
.await?; .await?;
let txt_json = resp.text().await?; let txt_json = resp.text().await?;
tracing::debug!("generate_content response: {:?}", txt_json);
match serde_json::from_str(&txt_json) { match serde_json::from_str(&txt_json) {
Ok(response) => Ok(response), Ok(response) => Ok(response),
Err(e) => { Err(e) => {
@@ -177,7 +186,7 @@ impl<T: TokenProvider + Clone> GeminiClient<T> {
&self, &self,
request: &TextEmbeddingRequest, request: &TextEmbeddingRequest,
) -> Result<TextEmbeddingResponse> { ) -> Result<TextEmbeddingResponse> {
let model = "textembedding-gecko@003"; let model = "models/embedding-001";
let endpoint_url = format!( let endpoint_url = format!(
"https://{}/v1/projects/{}/locations/{}/publishers/google/models/{}:predict", "https://{}/v1/projects/{}/locations/{}/publishers/google/models/{}:predict",
self.api_endpoint, self.project_id, self.location_id, model, self.api_endpoint, self.project_id, self.location_id, model,