mirror of
https://github.com/aljazceru/goose.git
synced 2025-12-17 06:04:23 +01:00
Co-authored-by: Michael Neale <michael.neale@gmail.com> Co-authored-by: Wendy Tang <wendytang@squareup.com> Co-authored-by: Jarrod Sibbison <72240382+jsibbison-square@users.noreply.github.com> Co-authored-by: Alex Hancock <alex.hancock@example.com> Co-authored-by: Alex Hancock <alexhancock@block.xyz> Co-authored-by: Lifei Zhou <lifei@squareup.com> Co-authored-by: Wes <141185334+wesrblock@users.noreply.github.com> Co-authored-by: Max Novich <maksymstepanenko1990@gmail.com> Co-authored-by: Zaki Ali <zaki@squareup.com> Co-authored-by: Salman Mohammed <smohammed@squareup.com> Co-authored-by: Kalvin C <kalvinnchau@users.noreply.github.com> Co-authored-by: Alec Thomas <alec@swapoff.org> Co-authored-by: lily-de <119957291+lily-de@users.noreply.github.com> Co-authored-by: kalvinnchau <kalvin@block.xyz> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Rizel Scarlett <rizel@squareup.com> Co-authored-by: bwrage <bwrage@squareup.com> Co-authored-by: Kalvin Chau <kalvin@squareup.com> Co-authored-by: Alice Hau <110418948+ahau-square@users.noreply.github.com> Co-authored-by: Alistair Gray <ajgray@stripe.com> Co-authored-by: Nahiyan Khan <nahiyan.khan@gmail.com> Co-authored-by: Alex Hancock <alexhancock@squareup.com> Co-authored-by: Nahiyan Khan <nahiyan@squareup.com> Co-authored-by: marcelle <1852848+laanak08@users.noreply.github.com> Co-authored-by: Yingjie He <yingjiehe@block.xyz> Co-authored-by: Yingjie He <yingjiehe@squareup.com> Co-authored-by: Lily Delalande <ldelalande@block.xyz> Co-authored-by: Adewale Abati <acekyd01@gmail.com> Co-authored-by: Ebony Louis <ebony774@gmail.com> Co-authored-by: Angie Jones <jones.angie@gmail.com> Co-authored-by: Ebony Louis <55366651+EbonyLouis@users.noreply.github.com>
37 lines
1.1 KiB
Rust
37 lines
1.1 KiB
Rust
use dotenv::dotenv;
|
|
use futures::StreamExt;
|
|
use goose::agents::{AgentFactory, ExtensionConfig};
|
|
use goose::message::Message;
|
|
use goose::providers::databricks::DatabricksProvider;
|
|
|
|
#[tokio::main]
|
|
async fn main() {
|
|
// Setup a model provider from env vars
|
|
let _ = dotenv();
|
|
|
|
let provider = Box::new(DatabricksProvider::default());
|
|
|
|
// Setup an agent with the developer extension
|
|
let mut agent = AgentFactory::create("reference", provider).expect("default should exist");
|
|
|
|
let config = ExtensionConfig::stdio("developer", "./target/debug/developer");
|
|
agent.add_extension(config).await.unwrap();
|
|
|
|
println!("Extensions:");
|
|
for extension in agent.list_extensions().await {
|
|
println!(" {}", extension);
|
|
}
|
|
|
|
let messages = vec![Message::user()
|
|
.with_text("can you summarize the readme.md in this dir using just a haiku?")];
|
|
|
|
let mut stream = agent.reply(&messages).await.unwrap();
|
|
while let Some(message) = stream.next().await {
|
|
println!(
|
|
"{}",
|
|
serde_json::to_string_pretty(&message.unwrap()).unwrap()
|
|
);
|
|
println!("\n");
|
|
}
|
|
}
|