prediction: switch everything over to use log::*

This commit is contained in:
2026-06-11 21:43:31 +02:00
parent cc56b09249
commit aaa1b48b26
+11 -18
View File
@@ -101,10 +101,11 @@ impl Session {
async fn tool_bandcamp_scan(&mut self, args: BandcampQueryArgs) -> ToolResults { async fn tool_bandcamp_scan(&mut self, args: BandcampQueryArgs) -> ToolResults {
let mut messages = vec![]; let mut messages = vec![];
messages.push(ConversationEntry::SystemMessage(format!("Fetching artifacts from Bandcamp with {:?}", args).into())); log::info!("Fetching artifacts from Bandcamp with {:?}", args);
let mut json_results = vec![]; let mut json_results = vec![];
if let Ok(results) = bandcamp::search(args.query.as_str()).await { if let Ok(results) = bandcamp::search(args.query.as_str()).await {
for result in results { for result in results {
log::debug!("Result: {:?}", result);
match result { match result {
SearchResultItem::Artist(data) => { SearchResultItem::Artist(data) => {
let result = bandcamp::fetch_artist(data.artist_id).await.unwrap().into(); let result = bandcamp::fetch_artist(data.artist_id).await.unwrap().into();
@@ -211,7 +212,7 @@ impl Session {
.build().unwrap() .build().unwrap()
}) })
]; ];
self.log("Sending request.."); log::info!("Sending request..");
let request = CreateChatCompletionRequestArgs::default() let request = CreateChatCompletionRequestArgs::default()
.messages(full_conversation) .messages(full_conversation)
.model("gpt-5.4-mini") .model("gpt-5.4-mini")
@@ -233,18 +234,18 @@ impl Session {
if let Some(usage) = response.usage { if let Some(usage) = response.usage {
self.tokens_consumed += usage.total_tokens as usize; self.tokens_consumed += usage.total_tokens as usize;
self.log(format!("{} tokens cast into the void", usage.total_tokens)); log::info!("{} tokens cast into the void", usage.total_tokens);
} }
if let Some(message) = response.choices.first() { if let Some(message) = response.choices.first() {
match message.finish_reason { match message.finish_reason {
Some(FinishReason::ContentFilter) => { Some(FinishReason::ContentFilter) => {
self.insert_conversation(ConversationEntry::SystemMessage("Content filter triggered.".into())); log::error!("Content filter triggered.");
break; break;
}, },
Some(FinishReason::Length) => { Some(FinishReason::Length) => {
self.insert_conversation(ConversationEntry::SystemMessage("Maximum token count exceeded!".into())); log::error!("Maximum token count exceeded!");
break; break;
}, },
_ => () _ => ()
@@ -292,11 +293,11 @@ impl Session {
self.reply_options = options; self.reply_options = options;
break; break;
} else { } else {
self.log("Received invalid JSON! Trying again."); log::info!("Received invalid JSON! Trying again.");
} }
} }
} else { } else {
self.log("No messages were received! Trying again."); log::info!("No messages were received! Trying again.");
} }
} }
self.activity_notify.send_if_modified(|x| { if *x { *x = false; true } else { false }}); self.activity_notify.send_if_modified(|x| { if *x { *x = false; true } else { false }});
@@ -308,10 +309,6 @@ impl Session {
Scene::new(self.reply_options.clone(), self.conversation.clone(), self.scenery.clone(), self.tokens_consumed, self.direction.clone()) Scene::new(self.reply_options.clone(), self.conversation.clone(), self.scenery.clone(), self.tokens_consumed, self.direction.clone())
} }
fn log<T: Into<String>>(&mut self, msg: T) {
self.insert_conversation(ConversationEntry::SystemMessage(msg.into()));
}
fn insert_conversation(&mut self, entry: ConversationEntry) { fn insert_conversation(&mut self, entry: ConversationEntry) {
self.conversation.push(entry.clone()); self.conversation.push(entry.clone());
@@ -344,10 +341,6 @@ impl SessionControl {
pub async fn insert(&self, action: PredictionAction) { pub async fn insert(&self, action: PredictionAction) {
self.event_sink.send(action).await.unwrap(); self.event_sink.send(action).await.unwrap();
} }
pub async fn log(&self, message: String) {
self.insert(PredictionAction::ConversationAppend(ConversationEntry::SystemMessage(message))).await;
}
pub async fn regenerate_options(&self) { pub async fn regenerate_options(&self) {
self.insert(PredictionAction::GeneratePredictions).await; self.insert(PredictionAction::GeneratePredictions).await;
@@ -404,7 +397,7 @@ pub async fn start_prediction(saved_session: SaveData, mut messages: tokio::sync
PredictionAction::SetEpisodeNumber(num) => { PredictionAction::SetEpisodeNumber(num) => {
session.direction.episode_number = num; session.direction.episode_number = num;
match MixxxDB::load(num) { match MixxxDB::load(num) {
Err(err) => session.log(format!("Failed to load mixxx playlist: {:?}.", err)), Err(err) => log::info!("Failed to load mixxx playlist: {:?}.", err),
Ok(playlist) => { Ok(playlist) => {
for track in &playlist { for track in &playlist {
if let Some(merge_target) = session.scenery.artifacts.iter_mut().find(|a| { *a == track }) { if let Some(merge_target) = session.scenery.artifacts.iter_mut().find(|a| { *a == track }) {
@@ -414,7 +407,7 @@ pub async fn start_prediction(saved_session: SaveData, mut messages: tokio::sync
} }
} }
session.scenery.current_playlist = playlist; session.scenery.current_playlist = playlist;
session.log("Mixxx playlist reloaded."); log::info!("Mixxx playlist reloaded.");
} }
} }
false false
@@ -424,7 +417,7 @@ pub async fn start_prediction(saved_session: SaveData, mut messages: tokio::sync
}, },
PredictionAction::SetNarrative(narrative) => { PredictionAction::SetNarrative(narrative) => {
session.direction.narrative = narrative; session.direction.narrative = narrative;
session.log("Updated stage direction narrative"); log::info!("Updated stage direction narrative");
true true
}, },
PredictionAction::SetShowEndTime(end_time) => { PredictionAction::SetShowEndTime(end_time) => {