sdk_generate/internal/prompts/refine.go

71 lines
1.9 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package prompts
import "github.com/sashabaranov/go-openai"
// BuildRefinePrompt 构建文档精炼的请求
func BuildRefinePrompt(rawDoc string) openai.ChatCompletionRequest {
return openai.ChatCompletionRequest{
Messages: []openai.ChatCompletionMessage{
{
Role: openai.ChatMessageRoleSystem,
Content: `你是一个专业的 API 文档分析专家,擅长从各种格式的文档中提取技术信息。你的输出必须准确、完整,因为后续会基于你的输出生成可运行的代码。`,
},
{
Role: openai.ChatMessageRoleUser,
Content: RefinePrompt(rawDoc),
},
},
Temperature: 0.1,
TopP: 0.9,
MaxTokens: 65536,
FrequencyPenalty: 0.0,
PresencePenalty: 0.0,
}
}
// RefinePrompt 文档精炼提示词模板
func RefinePrompt(rawDoc string) string {
return `分析以下 API 文档,为后续代码生成做准备。
## 你的任务
1. 判断文档类型:是"调用文档"(生成客户端 SDK还是"对接文档"(生成服务端骨架)
2. 完整提取所有接口信息(路径、方法、参数、响应)
3. 完整提取认证/加密/签名细节
4. 去除营销文案、流程说明等噪音,但保留所有技术信息
## 必须保留的内容
- 所有接口(一个不漏)
- 所有参数和字段(包括类型、必填、描述)
- 所有错误码
- 认证、加密、签名的完整流程
- 所有示例
## 可以去掉的内容
- 公司介绍、平台介绍
- 接入流程步骤
- 联调建议
- 重复内容
## 输出格式
` + "```" + `
文档类型:[调用文档/对接文档/混合型]
[接口列表...保持完整]
[认证加密签名...保持完整]
[错误码...保持完整]
` + "```" + `
## 关键原则
1. **完整性优先**:不确定是否重要的信息,保留
2. **忠于原文**:类型、字段名、示例值保持原样,不要修改
3. **不编造**:文档中没有的信息,不要补充
原始文档:
` + rawDoc
}