diff --git a/src/lib/models/providers/ollama/ollamaLLM.ts b/src/lib/models/providers/ollama/ollamaLLM.ts index cb88d06bd..02a1d11d3 100644 --- a/src/lib/models/providers/ollama/ollamaLLM.ts +++ b/src/lib/models/providers/ollama/ollamaLLM.ts @@ -216,7 +216,9 @@ class OllamaLLM extends BaseLLM { ), ) as T; } catch (err) { - throw new Error(`Error parsing response from Ollama: ${err}`); + throw new Error( + `Error parsing response from Ollama: ${err}\nRaw response: ${response.message.content}`, + ); } } diff --git a/src/lib/models/providers/openai/openaiLLM.ts b/src/lib/models/providers/openai/openaiLLM.ts index 5ae1538a0..6604ad6b0 100644 --- a/src/lib/models/providers/openai/openaiLLM.ts +++ b/src/lib/models/providers/openai/openaiLLM.ts @@ -213,16 +213,19 @@ class OpenAILLM extends BaseLLM { }); if (response.choices && response.choices.length > 0) { + const rawContent = response.choices[0].message.content; try { return input.schema.parse( JSON.parse( - repairJson(response.choices[0].message.content!, { + repairJson(rawContent!, { extractJson: true, }) as string, ), ) as T; } catch (err) { - throw new Error(`Error parsing response from OpenAI: ${err}`); + throw new Error( + `Error parsing response from OpenAI: ${err}\nRaw response: ${rawContent}`, + ); } } @@ -265,7 +268,9 @@ class OpenAILLM extends BaseLLM { try { yield parse(chunk.text) as T; } catch (err) { - throw new Error(`Error parsing response from OpenAI: ${err}`); + throw new Error( + `Error parsing response from OpenAI: ${err}\nRaw response: ${chunk.text}`, + ); } } }