Skip to content

Commit b5918e4

Browse files
committed
fix: make idempotency bit correct for retry
1 parent 1e20bb0 commit b5918e4

File tree

3 files changed

+30
-30
lines changed

3 files changed

+30
-30
lines changed

Cargo.lock

Lines changed: 24 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,10 @@ time = { version = "0.3", features = ["macros", "serde"] }
133133
numpy = "0.25.0"
134134
infer = "0.19.0"
135135
serde_with = { version = "3.14.0", features = ["base64"] }
136-
google-cloud-aiplatform-v1 = { version = "1.0.0", default-features = false, features = [
136+
google-cloud-aiplatform-v1 = { version = "0.4.5", default-features = false, features = [
137137
"prediction-service",
138138
] }
139-
google-cloud-gax = "1.0.0"
139+
google-cloud-gax = "0.24.0"
140140

141141
azure_identity = { version = "0.21.0", default-features = false, features = [
142142
"enable_reqwest_rustls",

src/llm/gemini.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use crate::llm::{
77
use base64::prelude::*;
88
use google_cloud_aiplatform_v1 as vertexai;
99
use google_cloud_gax::exponential_backoff::ExponentialBackoff;
10+
use google_cloud_gax::options::RequestOptionsBuilder;
1011
use google_cloud_gax::retry_policy::{Aip194Strict, RetryPolicyExt};
1112
use google_cloud_gax::retry_throttler::{AdaptiveThrottler, SharedRetryThrottler};
1213
use serde_json::Value;
@@ -251,9 +252,6 @@ impl google_cloud_gax::retry_policy::RetryPolicy for CustomizedGoogleCloudRetryP
251252
) -> google_cloud_gax::retry_result::RetryResult {
252253
use google_cloud_gax::retry_result::RetryResult;
253254

254-
if !state.idempotent {
255-
return RetryResult::Permanent(error);
256-
}
257255
if let Some(status) = error.status() {
258256
if status.code == google_cloud_gax::error::rpc::Code::ResourceExhausted {
259257
return RetryResult::Continue(error);
@@ -350,7 +348,8 @@ impl LlmGenerationClient for VertexAiClient {
350348
.client
351349
.generate_content()
352350
.set_model(self.get_model_path(request.model))
353-
.set_contents(contents);
351+
.set_contents(contents)
352+
.with_idempotency(true);
354353
if let Some(sys) = system_instruction {
355354
req = req.set_system_instruction(sys);
356355
}
@@ -414,6 +413,7 @@ impl LlmEmbeddingClient for VertexAiClient {
414413
.set_endpoint(self.get_model_path(request.model))
415414
.set_instances(instances)
416415
.set_parameters(parameters)
416+
.with_idempotency(true)
417417
.send()
418418
.await?;
419419

0 commit comments

Comments
 (0)