Files
tkmind_go/crates/goose/examples/databricks_oauth.rs
T

40 lines
1.1 KiB
Rust

use anyhow::Result;
use dotenvy::dotenv;
use goose::conversation::message::Message;
use goose::providers::create_with_named_model;
use goose_providers::databricks::DATABRICKS_DEFAULT_MODEL;
#[tokio::main]
async fn main() -> Result<()> {
dotenv().ok();
std::env::remove_var("DATABRICKS_TOKEN");
let provider = create_with_named_model("databricks", Vec::new()).await?;
let message = Message::user().with_text("Tell me a short joke about programming.");
let model_config =
goose::model_config::model_config_from_user_config("databricks", DATABRICKS_DEFAULT_MODEL)?;
let (response, usage) = provider
.complete(
&model_config,
"You are a helpful assistant.",
&[message],
&[],
)
.await?;
println!("\nResponse from AI:");
println!("---------------");
println!("{:?}", response);
println!("\nToken Usage:");
println!("------------");
println!("Input tokens: {:?}", usage.usage.input_tokens);
println!("Output tokens: {:?}", usage.usage.output_tokens);
println!("Total tokens: {:?}", usage.usage.total_tokens);
Ok(())
}