in bigquery-antipattern-recognition/src/main/java/com/google/zetasql/toolkit/antipattern/rewriter/gemini/QueryVisitorRewriter.java [51:67]
public String rewriteSQL(String inputQuery,
AntiPatternVisitor visitorThatFoundAntiPattern,
Integer llmRetries) throws Exception {
String prompt = this.promptYamlReader.getAntiPatternNameToPrompt().get(visitorThatFoundAntiPattern.getName());
if (prompt == null) {
return inputQuery; // No changes so it can use the same query
}
prompt = String.format(prompt, inputQuery).replace("%%","%");
String queryStr = GeminiRewriter.processPrompt(prompt, this.antiPatternHelper.getProject());
if(this.llmStrictValidation && llmRetries>0) {
queryStr = checkAntiPattern(queryStr, visitorThatFoundAntiPattern, llmRetries);
}
return queryStr;
}