generateLongTestPrompt 生成测试用的长 prompt
()
| 223 | |
| 224 | // generateLongTestPrompt 生成测试用的长 prompt |
| 225 | func generateLongTestPrompt() string { |
| 226 | var sb strings.Builder |
| 227 | |
| 228 | sb.WriteString("# System Prompt\n\n") |
| 229 | sb.WriteString("You are a helpful AI assistant.\n\n") |
| 230 | |
| 231 | sb.WriteString("## Tools Manual\n") |
| 232 | sb.WriteString("This section describes the available tools:\n") |
| 233 | sb.WriteString("- ReadFile: Read contents of a file\n") |
| 234 | sb.WriteString("- WriteFile: Write contents to a file\n") |
| 235 | sb.WriteString("- ExecuteCommand: Run a shell command\n\n") |
| 236 | |
| 237 | sb.WriteString("## Security Guidelines\n") |
| 238 | sb.WriteString("IMPORTANT: Follow these security rules:\n") |
| 239 | sb.WriteString("- Never expose API keys or credentials\n") |
| 240 | sb.WriteString("- Always validate user input\n") |
| 241 | sb.WriteString("- Use secure connections\n\n") |
| 242 | |
| 243 | sb.WriteString("## General Instructions\n") |
| 244 | sb.WriteString("When responding to user queries:\n") |
| 245 | sb.WriteString("1. Be helpful and accurate\n") |
| 246 | sb.WriteString("2. Provide clear explanations\n") |
| 247 | sb.WriteString("3. Use examples when helpful\n\n") |
| 248 | |
| 249 | // 添加一些填充内容 |
| 250 | for i := range 10 { |
| 251 | sb.WriteString("## Section ") |
| 252 | sb.WriteRune(rune('A' + i)) |
| 253 | sb.WriteString("\n") |
| 254 | sb.WriteString("This is some filler content for testing purposes. ") |
| 255 | sb.WriteString("It helps verify that compression works correctly ") |
| 256 | sb.WriteString("when dealing with longer prompts.\n\n") |
| 257 | } |
| 258 | |
| 259 | sb.WriteString("## Closing Notes\n") |
| 260 | sb.WriteString("Remember to always be helpful and follow the guidelines above.\n") |
| 261 | |
| 262 | return sb.String() |
| 263 | } |
| 264 | |
| 265 | // TestRemoveDuplicateEmptyLines 测试移除重复空行 |
| 266 | func TestRemoveDuplicateEmptyLines(t *testing.T) { |
no test coverage detected