Struct aleph_alpha_client::Client
source · pub struct Client { /* private fields */ }
Expand description
Sends HTTP request to the Aleph Alpha API
Implementations§
source§impl Client
impl Client
sourcepub fn new(api_token: &str) -> Result<Self, Error>
pub fn new(api_token: &str) -> Result<Self, Error>
A new instance of an Aleph Alpha client helping you interact with the Aleph Alpha API.
sourcepub fn with_base_url(host: String, api_token: &str) -> Result<Self, Error>
pub fn with_base_url(host: String, api_token: &str) -> Result<Self, Error>
In production you typically would want set this to https://api.aleph-alpha.com. Yet you may want to use a different instances for testing.
sourcepub async fn execute<T: Task>(
&self,
model: &str,
task: &T,
how: &How
) -> Result<T::Output, Error>
pub async fn execute<T: Task>( &self, model: &str, task: &T, how: &How ) -> Result<T::Output, Error>
Execute a task with the aleph alpha API and fetch its result.
use aleph_alpha_client::{Client, How, TaskCompletion, Error};
async fn print_completion() -> Result<(), Error> {
// Authenticate against API. Fetches token.
let client = Client::new("AA_API_TOKEN")?;
// Name of the model we we want to use. Large models give usually better answer, but are
// also slower and more costly.
let model = "luminous-base";
// The task we want to perform. Here we want to continue the sentence: "The most important thing
// is ..."
let task = TaskCompletion::from_text("An apple a day", 10);
// Send the task to the client.
let response = client.execute(model, &task, &How::default()).await?;
// Print entire sentence with completion
println!("An apple a day{}", response.completion);
Ok(())
}