// internal/prompts/validate_prompt.go package prompts import ( "github.com/sashabaranov/go-openai" ) // GetValidatePrompt 验证代码完整性,直接返回修复后的代码 func GetValidatePrompt(refineDoc, sdkName, codeContent string) openai.ChatCompletionRequest { return openai.ChatCompletionRequest{ Messages: []openai.ChatCompletionMessage{ { Role: openai.ChatMessageRoleSystem, Content: "你是代码审查专家。检查生成的 SDK 代码是否完整实现了文档中的所有内容。", }, { Role: openai.ChatMessageRoleUser, Content: ValidPrompt(refineDoc, sdkName, codeContent), }, }, Temperature: 0.1, // 更低,保证确定性输出 TopP: 0.9, // 核采样,平衡多样性和质量 MaxTokens: 65536, // 加大到 64k,确保足够 FrequencyPenalty: 0.0, // 代码生成不需要 PresencePenalty: 0.0, // 代码生成不需要 Stop: nil, // 不设置,让模型完整输出 } } func ValidPrompt(codeContent, sdkName, refineDoc string) string { return `你是代码审查专家。检查生成的 SDK 代码是否完整实现了文档中的所有内容。 ## 精炼文档 ` + refineDoc + ` ## 当前代码 ` + codeContent + ` ## 检查清单 1. 文档中的所有接口是否都已实现? 2. 每个接口的请求参数是否完整(字段名、类型、必填)? 3. 每个接口的响应字段是否完整? 4. 认证方式是否已实现? 5. 加密方式是否已实现? 6. 签名方式是否已实现? 7. 错误码是否已定义? ## 输出规则(严格遵守) **情况一:审查通过,没有任何问题** 只输出两个字符:` + "`OK`" + ` **情况二:存在问题** 输出修复后的**全量代码**,每个文件用以下格式: // File: ` + sdkName + `/文件名.go ` + "```go" + ` package ` + sdkName + ` // ... 代码内容 ... ` + "```" + ` ## 重要提醒 1. 如果存在问题,必须输出**所有文件**的完整代码,不能只输出修改的部分 2. 保持原有代码风格不变 3. 补全所有遗漏的接口、参数、加密/签名方式 4. 不要加任何描述性注释 ` }