Browse Source

warn when json format is expected but not mentioned in prompt (#3081)

Bruce MacDonald 1 year ago
parent
commit
2f804068bd
1 changed files with 3 additions and 0 deletions
  1. 3 0
      llm/dyn_ext_server.go

+ 3 - 0
llm/dyn_ext_server.go

@@ -198,6 +198,9 @@ func (llm *dynExtServer) Predict(ctx context.Context, predict PredictOpts, fn fu
 
 	if predict.Format == "json" {
 		request["grammar"] = jsonGrammar
+		if !strings.Contains(strings.ToLower(predict.Prompt), "json") {
+			slog.Warn("Prompt does not specify that the LLM should response in JSON, but JSON format is expected. For best results specify that JSON is expected in the system prompt.")
+		}
 	}
 
 	retryDelay := 100 * time.Microsecond