diff options
| author | sigoden <sigoden@gmail.com> | 2023-11-06 19:37:45 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-06 19:37:45 +0800 |
| commit | 399ed3337f1c4edaab39a534b63cc9d00c09dd07 (patch) | |
| tree | 9dd044c5a91d14854e732212f2f8b1dc43efd666 /src/client/palm.rs | |
| parent | 5dabe723ed67cb3db18f897cbf42d107255c8edb (diff) | |
| download | aichat-399ed3337f1c4edaab39a534b63cc9d00c09dd07.tar.gz | |
refactor: improve error message for PaLM client (#213)
Diffstat (limited to 'src/client/palm.rs')
| -rw-r--r-- | src/client/palm.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/client/palm.rs b/src/client/palm.rs index 87b60d1..c59b269 100644 --- a/src/client/palm.rs +++ b/src/client/palm.rs @@ -86,7 +86,13 @@ async fn send_message(builder: RequestBuilder) -> Result<String> { let output = data["candidates"][0]["content"] .as_str() - .ok_or_else(|| anyhow!("Unexpected response {data}"))?; + .ok_or_else(|| { + if let Some(reason) = data["filters"][0]["reason"].as_str() { + anyhow!("Content Filtering: {reason}") + } else { + anyhow!("Unexpected response") + } + })?; Ok(output.to_string()) } @@ -96,7 +102,7 @@ fn check_error(data: &Value) -> Result<()> { if let Some(message) = error["message"].as_str() { bail!("{message}"); } else { - bail!("Request failed. {}", data); + bail!("Error {}", Value::Object(error.clone())); } } Ok(()) |
