Skip to content

Commit 64ed167

Browse files
committed
fix: fixed groq json decoding of payload
1 parent bcedafc commit 64ed167

File tree

1 file changed

+7
-2
lines changed
  • nerve-core/src/agent/generator

1 file changed

+7
-2
lines changed

nerve-core/src/agent/generator/groq.rs

+7-2
Original file line numberDiff line numberDiff line change
@@ -267,10 +267,15 @@ impl Client for GroqClient {
267267
let mut payload = None;
268268

269269
if let Some(args) = call.function.arguments.as_ref() {
270-
let map: HashMap<String, String> = serde_json::from_str(args)?;
270+
let map: HashMap<String, serde_json::Value> = serde_json::from_str(args)?;
271271

272272
for (name, value) in map {
273-
let str_val = value.to_string().trim_matches('"').to_string();
273+
let mut content = value.to_string();
274+
if let serde_json::Value::String(escaped_json) = &value {
275+
content = escaped_json.to_string();
276+
}
277+
278+
let str_val = content.trim_matches('"').to_string();
274279
if name == "payload" {
275280
payload = Some(str_val);
276281
} else {

0 commit comments

Comments
 (0)