修复bug
This commit is contained in:
@@ -242,8 +242,21 @@ impl DeepSeekClient {
|
|||||||
result.choices
|
result.choices
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.next()
|
.next()
|
||||||
.map(|c| c.message.content.trim().to_string())
|
.map(|c| {
|
||||||
.ok_or_else(|| anyhow::anyhow!("No response from DeepSeek"))
|
let content = c.message.content.trim().to_string();
|
||||||
|
if content.is_empty() {
|
||||||
|
c.reasoning_content
|
||||||
|
.map(|r| r.trim().to_string())
|
||||||
|
.unwrap_or_default()
|
||||||
|
} else {
|
||||||
|
content
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.filter(|s| !s.is_empty())
|
||||||
|
.ok_or_else(|| anyhow::anyhow!(
|
||||||
|
"No response from DeepSeek. \
|
||||||
|
If thinking mode is enabled, try disabling it or ensure the model supports it."
|
||||||
|
))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -242,8 +242,21 @@ impl KimiClient {
|
|||||||
result.choices
|
result.choices
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.next()
|
.next()
|
||||||
.map(|c| c.message.content.trim().to_string())
|
.map(|c| {
|
||||||
.ok_or_else(|| anyhow::anyhow!("No response from Kimi"))
|
let content = c.message.content.trim().to_string();
|
||||||
|
if content.is_empty() {
|
||||||
|
c.reasoning_content
|
||||||
|
.map(|r| r.trim().to_string())
|
||||||
|
.unwrap_or_default()
|
||||||
|
} else {
|
||||||
|
content
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.filter(|s| !s.is_empty())
|
||||||
|
.ok_or_else(|| anyhow::anyhow!(
|
||||||
|
"No response from Kimi. \
|
||||||
|
If thinking mode is enabled, try disabling it or ensure the model supports it."
|
||||||
|
))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -211,10 +211,21 @@ impl LlmClient {
|
|||||||
|
|
||||||
/// Parse commit response from LLM
|
/// Parse commit response from LLM
|
||||||
fn parse_commit_response(&self, response: &str, format: crate::config::CommitFormat) -> Result<GeneratedCommit> {
|
fn parse_commit_response(&self, response: &str, format: crate::config::CommitFormat) -> Result<GeneratedCommit> {
|
||||||
let lines: Vec<&str> = response.lines().collect();
|
let lines: Vec<&str> = response.lines()
|
||||||
|
.map(|l| l.trim())
|
||||||
|
.filter(|l| !l.is_empty())
|
||||||
|
.collect();
|
||||||
|
|
||||||
if lines.is_empty() {
|
if lines.is_empty() {
|
||||||
bail!("Empty response from LLM");
|
let preview: String = response.chars().take(200).collect();
|
||||||
|
bail!(
|
||||||
|
"LLM returned empty or whitespace-only response. \
|
||||||
|
Raw response preview: '{}'. \
|
||||||
|
Hint: If using DeepSeek/Kimi with thinking enabled, \
|
||||||
|
the model may have returned reasoning_content only. \
|
||||||
|
Try disabling thinking mode or switching models.",
|
||||||
|
preview
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
let first_line = lines[0];
|
let first_line = lines[0];
|
||||||
|
|||||||
Reference in New Issue
Block a user