Pass up intent with completion requests (#31710)
This PR adds a new `intent` field to completion requests to assist in categorizing them correctly. Release Notes: - N/A --------- Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
This commit is contained in:
parent
38e45e828b
commit
a23ee61a4b
22 changed files with 110 additions and 34 deletions
|
@ -28,6 +28,7 @@ use std::{cmp, iter, mem, ops::Range, path::PathBuf, pin::Pin, sync::Arc, task::
|
|||
use streaming_diff::{CharOperation, StreamingDiff};
|
||||
use streaming_fuzzy_matcher::StreamingFuzzyMatcher;
|
||||
use util::debug_panic;
|
||||
use zed_llm_client::CompletionIntent;
|
||||
|
||||
#[derive(Serialize)]
|
||||
struct CreateFilePromptTemplate {
|
||||
|
@ -106,7 +107,9 @@ impl EditAgent {
|
|||
edit_description,
|
||||
}
|
||||
.render(&this.templates)?;
|
||||
let new_chunks = this.request(conversation, prompt, cx).await?;
|
||||
let new_chunks = this
|
||||
.request(conversation, CompletionIntent::CreateFile, prompt, cx)
|
||||
.await?;
|
||||
|
||||
let (output, mut inner_events) = this.overwrite_with_chunks(buffer, new_chunks, cx);
|
||||
while let Some(event) = inner_events.next().await {
|
||||
|
@ -213,7 +216,9 @@ impl EditAgent {
|
|||
edit_description,
|
||||
}
|
||||
.render(&this.templates)?;
|
||||
let edit_chunks = this.request(conversation, prompt, cx).await?;
|
||||
let edit_chunks = this
|
||||
.request(conversation, CompletionIntent::EditFile, prompt, cx)
|
||||
.await?;
|
||||
this.apply_edit_chunks(buffer, edit_chunks, events_tx, cx)
|
||||
.await
|
||||
});
|
||||
|
@ -589,6 +594,7 @@ impl EditAgent {
|
|||
async fn request(
|
||||
&self,
|
||||
mut conversation: LanguageModelRequest,
|
||||
intent: CompletionIntent,
|
||||
prompt: String,
|
||||
cx: &mut AsyncApp,
|
||||
) -> Result<BoxStream<'static, Result<String, LanguageModelCompletionError>>> {
|
||||
|
@ -646,6 +652,7 @@ impl EditAgent {
|
|||
let request = LanguageModelRequest {
|
||||
thread_id: conversation.thread_id,
|
||||
prompt_id: conversation.prompt_id,
|
||||
intent: Some(intent),
|
||||
mode: conversation.mode,
|
||||
messages: conversation.messages,
|
||||
tool_choice,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue