oki692 commited on
Commit
bf9e75f
·
verified ·
1 Parent(s): 41ed41f

Update main.go

Browse files
Files changed (1) hide show
  1. main.go +11 -15
main.go CHANGED
@@ -95,24 +95,20 @@ func resolveModel(requested string) string {
95
  }
96
 
97
  func injectSystemPrompt(messages []Message, modelID string) []Message {
98
- prompt := loadSystemPrompt(modelID)
99
- if prompt == "" {
100
- return messages
 
 
 
101
  }
102
 
103
- // Check if first message is already a system message
104
- if len(messages) > 0 && messages[0].Role == "system" {
105
- existing := ""
106
- switch v := messages[0].Content.(type) {
107
- case string:
108
- existing = v
109
- }
110
- messages[0].Content = prompt + "\n\n" + existing
111
- return messages
112
  }
113
 
114
- systemMsg := Message{Role: "system", Content: prompt}
115
- return append([]Message{systemMsg}, messages...)
116
  }
117
 
118
  func authenticate(r *http.Request) bool {
@@ -304,4 +300,4 @@ func main() {
304
  if err := http.ListenAndServe(":"+port, mux); err != nil {
305
  log.Fatal(err)
306
  }
307
- }
 
95
  }
96
 
97
  func injectSystemPrompt(messages []Message, modelID string) []Message {
98
+ // Strip any system messages from client - gateway prompt always wins
99
+ filtered := make([]Message, 0, len(messages))
100
+ for _, m := range messages {
101
+ if m.Role != "system" {
102
+ filtered = append(filtered, m)
103
+ }
104
  }
105
 
106
+ prompt := loadSystemPrompt(modelID)
107
+ if prompt == "" {
108
+ return filtered
 
 
 
 
 
 
109
  }
110
 
111
+ return append([]Message{{Role: "system", Content: prompt}}, filtered...)
 
112
  }
113
 
114
  func authenticate(r *http.Request) bool {
 
300
  if err := http.ListenAndServe(":"+port, mux); err != nil {
301
  log.Fatal(err)
302
  }
303
+ }