agent: Log errors from token counting APIs (#29626)
Release Notes: - N/A
This commit is contained in:
parent
f7a3e00074
commit
33abf1ee7c
2 changed files with 100 additions and 86 deletions
|
@ -702,7 +702,7 @@ struct EditMessageState {
|
||||||
editor: Entity<Editor>,
|
editor: Entity<Editor>,
|
||||||
last_estimated_token_count: Option<usize>,
|
last_estimated_token_count: Option<usize>,
|
||||||
_subscription: Subscription,
|
_subscription: Subscription,
|
||||||
_update_token_count_task: Option<Task<anyhow::Result<()>>>,
|
_update_token_count_task: Option<Task<()>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ActiveThread {
|
impl ActiveThread {
|
||||||
|
@ -1268,7 +1268,8 @@ impl ActiveThread {
|
||||||
.await;
|
.await;
|
||||||
}
|
}
|
||||||
|
|
||||||
let token_count = if let Some(task) = cx.update(|cx| {
|
let token_count = if let Some(task) = cx
|
||||||
|
.update(|cx| {
|
||||||
let Some(message) = thread.read(cx).message(message_id) else {
|
let Some(message) = thread.read(cx).message(message_id) else {
|
||||||
log::error!("Message that was being edited no longer exists");
|
log::error!("Message that was being edited no longer exists");
|
||||||
return None;
|
return None;
|
||||||
|
@ -1306,12 +1307,16 @@ impl ActiveThread {
|
||||||
};
|
};
|
||||||
|
|
||||||
Some(configured_model.model.count_tokens(request, cx))
|
Some(configured_model.model.count_tokens(request, cx))
|
||||||
})? {
|
})
|
||||||
task.await?
|
.ok()
|
||||||
|
.flatten()
|
||||||
|
{
|
||||||
|
task.await.log_err()
|
||||||
} else {
|
} else {
|
||||||
0
|
Some(0)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if let Some(token_count) = token_count {
|
||||||
this.update(cx, |this, cx| {
|
this.update(cx, |this, cx| {
|
||||||
let Some((_message_id, state)) = this.editing_message.as_mut() else {
|
let Some((_message_id, state)) = this.editing_message.as_mut() else {
|
||||||
return;
|
return;
|
||||||
|
@ -1320,6 +1325,8 @@ impl ActiveThread {
|
||||||
state.last_estimated_token_count = Some(token_count);
|
state.last_estimated_token_count = Some(token_count);
|
||||||
cx.emit(ActiveThreadEvent::EditingMessageTokenCountChanged);
|
cx.emit(ActiveThreadEvent::EditingMessageTokenCountChanged);
|
||||||
})
|
})
|
||||||
|
.ok();
|
||||||
|
};
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ pub struct MessageEditor {
|
||||||
edits_expanded: bool,
|
edits_expanded: bool,
|
||||||
editor_is_expanded: bool,
|
editor_is_expanded: bool,
|
||||||
last_estimated_token_count: Option<usize>,
|
last_estimated_token_count: Option<usize>,
|
||||||
update_token_count_task: Option<Task<anyhow::Result<()>>>,
|
update_token_count_task: Option<Task<()>>,
|
||||||
_subscriptions: Vec<Subscription>,
|
_subscriptions: Vec<Subscription>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1088,7 +1088,8 @@ impl MessageEditor {
|
||||||
.await;
|
.await;
|
||||||
}
|
}
|
||||||
|
|
||||||
let token_count = if let Some(task) = this.update(cx, |this, cx| {
|
let token_count = if let Some(task) = this
|
||||||
|
.update(cx, |this, cx| {
|
||||||
let loaded_context = this
|
let loaded_context = this
|
||||||
.last_loaded_context
|
.last_loaded_context
|
||||||
.as_ref()
|
.as_ref()
|
||||||
|
@ -1128,17 +1129,23 @@ impl MessageEditor {
|
||||||
};
|
};
|
||||||
|
|
||||||
Some(model.model.count_tokens(request, cx))
|
Some(model.model.count_tokens(request, cx))
|
||||||
})? {
|
})
|
||||||
task.await?
|
.ok()
|
||||||
|
.flatten()
|
||||||
|
{
|
||||||
|
task.await.log_err()
|
||||||
} else {
|
} else {
|
||||||
0
|
Some(0)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if let Some(token_count) = token_count {
|
||||||
this.update(cx, |this, cx| {
|
this.update(cx, |this, cx| {
|
||||||
this.last_estimated_token_count = Some(token_count);
|
this.last_estimated_token_count = Some(token_count);
|
||||||
cx.emit(MessageEditorEvent::EstimatedTokenCount);
|
cx.emit(MessageEditorEvent::EstimatedTokenCount);
|
||||||
this.update_token_count_task.take();
|
this.update_token_count_task.take();
|
||||||
})
|
})
|
||||||
|
.ok();
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue