diff --git a/test/gpu/ollama/ollama.go b/test/gpu/ollama/ollama.go index 2ab32c125..ec6fd075a 100644 --- a/test/gpu/ollama/ollama.go +++ b/test/gpu/ollama/ollama.go @@ -356,7 +356,17 @@ type ConversationContext []int func (llm *Ollama) Prompt(ctx context.Context, prompt *Prompt) (*Response, error) { resp, err := jsonPost[PromptJSON, ResponseJSON](ctx, llm, "/api/generate", prompt.json()) if err != nil { - return nil, err + if ctx.Err() != nil { + return nil, fmt.Errorf("%w (+ context err: %v)", err, ctx.Err()) + } + serverLogs, logsErr := llm.container.Logs(ctx) + if logsErr != nil { + return nil, fmt.Errorf("%w (could not get server logs: %v)", err, logsErr) + } + if serverLogs != "" { + return nil, fmt.Errorf("%w; ollama server logs:\n%v\n(end of ollama server logs)", err, serverLogs) + } + return nil, fmt.Errorf("%w (server logs are empty)", err) } return &Response{data: resp}, nil } diff --git a/test/gpu/textgen_test.go b/test/gpu/textgen_test.go index a4268e5b3..1fa63766c 100644 --- a/test/gpu/textgen_test.go +++ b/test/gpu/textgen_test.go @@ -91,7 +91,7 @@ func TestLLM(t *testing.T) { "Hello World". `, } - promptCtx, promptCancel := context.WithTimeout(ctx, time.Minute) + promptCtx, promptCancel := context.WithTimeout(ctx, 3*time.Minute) response, err := llm.PromptUntil(promptCtx, &prompt, func(prompt *ollama.Prompt, response *ollama.Response) (*ollama.Prompt, error) { defer prompt.Model.RaiseTemperature() text := strings.TrimSpace(response.Text())