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:
Marshall Bowers 2025-05-29 16:43:12 -04:00 committed by GitHub
parent 38e45e828b
commit a23ee61a4b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 110 additions and 34 deletions

View file

@ -809,6 +809,7 @@ impl LanguageModel for CloudLanguageModel {
> {
let thread_id = request.thread_id.clone();
let prompt_id = request.prompt_id.clone();
let intent = request.intent;
let mode = request.mode;
let app_version = cx.update(|cx| AppVersion::global(cx)).ok();
match self.model.provider {
@ -841,6 +842,7 @@ impl LanguageModel for CloudLanguageModel {
CompletionBody {
thread_id,
prompt_id,
intent,
mode,
provider: zed_llm_client::LanguageModelProvider::Anthropic,
model: request.model.clone(),
@ -897,6 +899,7 @@ impl LanguageModel for CloudLanguageModel {
CompletionBody {
thread_id,
prompt_id,
intent,
mode,
provider: zed_llm_client::LanguageModelProvider::OpenAi,
model: request.model.clone(),
@ -934,6 +937,7 @@ impl LanguageModel for CloudLanguageModel {
CompletionBody {
thread_id,
prompt_id,
intent,
mode,
provider: zed_llm_client::LanguageModelProvider::Google,
model: request.model.model_id.clone(),

View file

@ -816,6 +816,7 @@ mod tests {
tool_choice: None,
thread_id: None,
prompt_id: None,
intent: None,
mode: None,
stop: Vec::new(),
};

View file

@ -860,6 +860,7 @@ mod tests {
let request = LanguageModelRequest {
thread_id: None,
prompt_id: None,
intent: None,
mode: None,
messages: vec![LanguageModelRequestMessage {
role: Role::User,