MCPcopy Create free account
hub / github.com/FuzzAnything/PromptFuzz / generate_program_by_chat

Function generate_program_by_chat

src/request/openai.rs:276–296  ·  view source on GitHub ↗
(
    chat_msgs: Vec<ChatCompletionRequestMessage>,
)

Source from the content-addressed store, hash-verified

274
275
276pub async fn generate_program_by_chat(
277 chat_msgs: Vec<ChatCompletionRequestMessage>,
278) -> Result<(Program, TokenUsage)> {
279 let (content, usage) = if get_config().deepseek_reasoning {
280 let request = create_reasoning_chat_request(chat_msgs, None)?;
281 let response = get_reasoning_chat_response(request).await?;
282 let usage = TokenUsage::from_raw_response(&response);
283 let content = response["choices"][0]["message"]["content"].as_str().ok_or(eyre::eyre!("Empty response content"))?.to_string();
284 (content, usage)
285 } else {
286 let request = create_chat_request(chat_msgs, None)?;
287 let respond = get_chat_response(request).await?;
288 let usage = TokenUsage::from_response(&respond);
289 let choice = respond.choices.first().unwrap();
290 let content = choice.message.content.as_ref().ok_or(eyre::eyre!("Empty response content"))?.to_string();
291 (content, usage)
292 };
293 let content = strip_code_wrapper(&content);
294 let program = Program::new(&content);
295 Ok((program, usage))
296}
297
298
299fn strip_code_prefix<'a>(input: &'a str, pat: &str) -> &'a str {

Callers 1

generateMethod · 0.85

Calls 6

get_configFunction · 0.85
create_chat_requestFunction · 0.85
get_chat_responseFunction · 0.85
strip_code_wrapperFunction · 0.85

Tested by

no test coverage detected