| 177 | } |
| 178 | |
| 179 | func buildOpenAICompletionRequest(model string, request *v1pb.AICompletionRequest) openAIRequest { |
| 180 | payload := openAIRequest{ |
| 181 | Model: model, |
| 182 | } |
| 183 | for _, m := range request.Messages { |
| 184 | payload.Messages = append(payload.Messages, openAIMessage{ |
| 185 | Role: m.Role, |
| 186 | Content: m.Content, |
| 187 | }) |
| 188 | } |
| 189 | return payload |
| 190 | } |
| 191 | |
| 192 | // Gemini API docs: https://ai.google.dev/gemini-api/docs |
| 193 | func callGemini(ctx context.Context, aiSetting *storepb.AISetting, request *v1pb.AICompletionRequest) (*connect.Response[v1pb.AICompletionResponse], error) { |