From 9fc3d0aa27c02a0bf010806aab5ac18e4dc6e37e Mon Sep 17 00:00:00 2001 From: Travis Cline Date: Tue, 19 Aug 2025 19:35:18 +0200 Subject: [PATCH] llms/ollama: fix panic when context is cancelled during streaming (#1372) Handle case where Message might be nil (e.g., context cancelled during streaming) by checking for nil before accessing Message.Content. Fixes #774 --- llms/ollama/ollamallm.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/llms/ollama/ollamallm.go b/llms/ollama/ollamallm.go index d8805519..c3477790 100644 --- a/llms/ollama/ollamallm.go +++ b/llms/ollama/ollamallm.go @@ -156,9 +156,15 @@ func (o *LLM) GenerateContent(ctx context.Context, messages []llms.MessageConten return nil, err } + // Handle case where Message might be nil (e.g., context cancelled during streaming) + content := "" + if resp.Message != nil { + content = resp.Message.Content + } + choices := []*llms.ContentChoice{ { - Content: resp.Message.Content, + Content: content, GenerationInfo: map[string]any{ "CompletionTokens": resp.EvalCount, "PromptTokens": resp.PromptEvalCount,