@@ -10,20 +10,13 @@ import (
1010)
1111
1212// Service provides AI methods for the frontend
13- type Service struct {
14- ctx context.Context
15- }
13+ type Service struct {}
1614
1715// NewService creates a new AI Service
1816func NewService () * Service {
1917 return & Service {}
2018}
2119
22- // SetContext sets the context for the service
23- func (s * Service ) SetContext (ctx context.Context ) {
24- s .ctx = ctx
25- }
26-
2720// TextRequest defines the parameters for text generation
2821type TextRequest struct {
2922 Prompt string `json:"prompt"`
@@ -102,6 +95,7 @@ func (s *Service) getClient(providerID int) (aiservice.AIClient, error) {
10295
10396// GenerateText generates text based on the prompt
10497func (s * Service ) GenerateText (req TextRequest ) (* AIResponse , error ) {
98+ ctx := context .Background ()
10599 client , err := s .getClient (req .ProviderID )
106100 if err != nil {
107101 return nil , err
@@ -119,7 +113,7 @@ func (s *Service) GenerateText(req TextRequest) (*AIResponse, error) {
119113 Options : req .Options ,
120114 }
121115
122- resp , err := client .GenerateText (s . ctx , aiReq )
116+ resp , err := client .GenerateText (ctx , aiReq )
123117 if err != nil {
124118 return nil , err
125119 }
@@ -137,6 +131,7 @@ func (s *Service) GenerateText(req TextRequest) (*AIResponse, error) {
137131
138132// GenerateImage generates an image based on the prompt
139133func (s * Service ) GenerateImage (req ImageRequest ) (* AIResponse , error ) {
134+ ctx := context .Background ()
140135 client , err := s .getClient (req .ProviderID )
141136 if err != nil {
142137 return nil , err
@@ -154,7 +149,7 @@ func (s *Service) GenerateImage(req ImageRequest) (*AIResponse, error) {
154149 Options : req .Options ,
155150 }
156151
157- resp , err := client .GenerateImage (s . ctx , aiReq )
152+ resp , err := client .GenerateImage (ctx , aiReq )
158153 if err != nil {
159154 return nil , err
160155 }
@@ -172,6 +167,7 @@ func (s *Service) GenerateImage(req ImageRequest) (*AIResponse, error) {
172167
173168// GenerateVideo generates a video based on the prompt
174169func (s * Service ) GenerateVideo (req VideoRequest ) (* AIResponse , error ) {
170+ ctx := context .Background ()
175171 client , err := s .getClient (req .ProviderID )
176172 if err != nil {
177173 return nil , err
@@ -188,7 +184,7 @@ func (s *Service) GenerateVideo(req VideoRequest) (*AIResponse, error) {
188184 Options : req .Options ,
189185 }
190186
191- resp , err := client .GenerateVideo (s . ctx , aiReq )
187+ resp , err := client .GenerateVideo (ctx , aiReq )
192188 if err != nil {
193189 return nil , err
194190 }
@@ -206,6 +202,7 @@ func (s *Service) GenerateVideo(req VideoRequest) (*AIResponse, error) {
206202
207203// GenerateAudio generates audio based on the prompt
208204func (s * Service ) GenerateAudio (req AudioRequest ) (* AIResponse , error ) {
205+ ctx := context .Background ()
209206 client , err := s .getClient (req .ProviderID )
210207 if err != nil {
211208 return nil , err
@@ -222,7 +219,7 @@ func (s *Service) GenerateAudio(req AudioRequest) (*AIResponse, error) {
222219 Options : req .Options ,
223220 }
224221
225- resp , err := client .GenerateAudio (s . ctx , aiReq )
222+ resp , err := client .GenerateAudio (ctx , aiReq )
226223 if err != nil {
227224 return nil , err
228225 }
@@ -243,6 +240,7 @@ func (s *Service) GenerateAudio(req AudioRequest) (*AIResponse, error) {
243240
244241// ListModels lists available models for a given provider ID. If providerId is nil, lists from all providers.
245242func (s * Service ) ListModels (providerId * int ) ([]aiservice.Model , error ) {
243+ ctx := context .Background ()
246244 if providerId == nil {
247245 configs , err := database .ListModelProviders ()
248246 if err != nil {
@@ -256,7 +254,7 @@ func (s *Service) ListModels(providerId *int) ([]aiservice.Model, error) {
256254 fmt .Printf ("failed to create client for %s: %v\n " , config .Name , err )
257255 continue
258256 }
259- models , err := client .ListModels (s . ctx )
257+ models , err := client .ListModels (ctx )
260258 if err != nil {
261259 fmt .Printf ("failed to list models for %s: %v\n " , config .Name , err )
262260 continue
@@ -279,7 +277,7 @@ func (s *Service) ListModels(providerId *int) ([]aiservice.Model, error) {
279277 return nil , fmt .Errorf ("failed to create client for provider id %d: %w" , * providerId , err )
280278 }
281279
282- return client .ListModels (s . ctx )
280+ return client .ListModels (ctx )
283281}
284282
285283func (s * Service ) processContent (projectID int , data []byte , b64 string , url string , prefix string , ext string , assetType database.AssetType ) (string , error ) {
0 commit comments