浏览代码

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

Bruce MacDonald 1 年之前
父节点
当前提交
2f804068bd
共有 1 个文件被更改,包括 3 次插入0 次删除
  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