Persist provider name and model config in the session (#5419)
This commit is contained in:
@@ -10,15 +10,21 @@ use goose::session::SessionManager;
|
||||
use std::path::PathBuf;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
async fn main() -> anyhow::Result<()> {
|
||||
let _ = dotenv();
|
||||
|
||||
let provider = create_with_named_model("databricks", DATABRICKS_DEFAULT_MODEL)
|
||||
.await
|
||||
.expect("Couldn't create provider");
|
||||
let provider = create_with_named_model("databricks", DATABRICKS_DEFAULT_MODEL).await?;
|
||||
|
||||
let agent = Agent::new();
|
||||
let _ = agent.update_provider(provider).await;
|
||||
|
||||
let session = SessionManager::create_session(
|
||||
PathBuf::default(),
|
||||
"max-turn-test".to_string(),
|
||||
SessionType::Hidden,
|
||||
)
|
||||
.await?;
|
||||
|
||||
let _ = agent.update_provider(provider, &session.id).await;
|
||||
|
||||
let config = ExtensionConfig::stdio(
|
||||
"developer",
|
||||
@@ -27,21 +33,13 @@ async fn main() {
|
||||
DEFAULT_EXTENSION_TIMEOUT,
|
||||
)
|
||||
.with_args(vec!["mcp", "developer"]);
|
||||
agent.add_extension(config).await.unwrap();
|
||||
agent.add_extension(config).await?;
|
||||
|
||||
println!("Extensions:");
|
||||
for extension in agent.list_extensions().await {
|
||||
println!(" {}", extension);
|
||||
}
|
||||
|
||||
let session = SessionManager::create_session(
|
||||
PathBuf::default(),
|
||||
"max-turn-test".to_string(),
|
||||
SessionType::Hidden,
|
||||
)
|
||||
.await
|
||||
.expect("session manager creation failed");
|
||||
|
||||
let session_config = SessionConfig {
|
||||
id: session.id,
|
||||
schedule_id: None,
|
||||
@@ -52,13 +50,12 @@ async fn main() {
|
||||
let user_message = Message::user()
|
||||
.with_text("can you summarize the readme.md in this dir using just a haiku?");
|
||||
|
||||
let mut stream = agent
|
||||
.reply(user_message, session_config, None)
|
||||
.await
|
||||
.unwrap();
|
||||
let mut stream = agent.reply(user_message, session_config, None).await?;
|
||||
|
||||
while let Some(Ok(AgentEvent::Message(message))) = stream.next().await {
|
||||
println!("{}", serde_json::to_string_pretty(&message).unwrap());
|
||||
println!("{}", serde_json::to_string_pretty(&message)?);
|
||||
println!("\n");
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user