use fieri::{
completion::{create_with_stream, Completion, CompletionParamBuilder},
Client, Error,
};
#[tokio::main]
async fn main() -> Result<(), Error> {
let client = Client::new();
let param = CompletionParamBuilder::new("ada")
.prompt("unnecessarily lo")
.temperature(0.5)
.build()?;
let mut resp = create_with_stream(&client, ¶m).await?;
while let Some(chunk) = resp.chunk().await? {
if chunk.to_vec() == b"data: [DONE]\n\n" {
break;
}
let v: Completion = serde_json::from_slice(&chunk[5..])?;
v.choices.iter().for_each(|c| println!("{:?}", c.text));
}
Ok(())
}