objectiveai_api/ensemble_llm/retrieval_client/
objectiveai.rs1use crate::ctx;
4use std::sync::Arc;
5
6pub struct ObjectiveAiClient {
8 pub client: Arc<objectiveai::HttpClient>,
10}
11
12impl ObjectiveAiClient {
13 pub fn new(client: Arc<objectiveai::HttpClient>) -> Self {
15 Self { client }
16 }
17}
18
19#[async_trait::async_trait]
20impl<CTXEXT> super::Client<CTXEXT> for ObjectiveAiClient
21where
22 CTXEXT: Send + Sync + 'static,
23{
24 async fn list(
25 &self,
26 _ctx: ctx::Context<CTXEXT>,
27 ) -> Result<
28 objectiveai::ensemble_llm::response::ListEnsembleLlm,
29 objectiveai::error::ResponseError,
30 > {
31 objectiveai::ensemble_llm::list_ensemble_llms(&self.client)
32 .await
33 .map_err(|e| objectiveai::error::ResponseError::from(&e))
34 }
35
36 async fn get_usage(
37 &self,
38 _ctx: ctx::Context<CTXEXT>,
39 id: &str,
40 ) -> Result<
41 objectiveai::ensemble_llm::response::UsageEnsembleLlm,
42 objectiveai::error::ResponseError,
43 > {
44 objectiveai::ensemble_llm::get_ensemble_llm_usage(&self.client, id)
45 .await
46 .map_err(|e| objectiveai::error::ResponseError::from(&e))
47 }
48}