@@ -4,47 +4,19 @@ import (
44 "bytes"
55 "context"
66 "encoding/json"
7- "io"
87 "net/http"
98
10- "github.com/missingstudio/studio/backend/internal/providers/base "
9+ "github.com/missingstudio/studio/backend/pkg/requester "
1110 llmv1 "github.com/missingstudio/studio/protos/pkg/llm"
1211)
1312
14- type OpenAIProviderFactory struct {}
15-
16- func (f OpenAIProviderFactory ) Create (token string ) base.LLMProvider {
17- openAIProvider := NewOpenAIProvider (token , "https://api.openai.com" )
18- return openAIProvider
19- }
20-
21- type OpenAIProvider struct {
22- APIKey string
23- Config base.ProviderConfig
24- }
25-
26- func NewOpenAIProvider (token string , baseURL string ) * OpenAIProvider {
27- config := getOpenAIConfig (baseURL )
28- return & OpenAIProvider {
29- APIKey : token ,
30- Config : config ,
31- }
32- }
33-
34- func getOpenAIConfig (baseURL string ) base.ProviderConfig {
35- return base.ProviderConfig {
36- BaseURL : baseURL ,
37- ChatCompletions : "/v1/chat/completions" ,
38- }
39- }
40-
41- func (oai OpenAIProvider ) ChatCompilation (ctx context.Context , cr * llmv1.CompletionRequest ) (* llmv1.CompletionResponse , error ) {
13+ func (oai * OpenAIProvider ) ChatCompilation (ctx context.Context , cr * llmv1.CompletionRequest ) (* llmv1.CompletionResponse , error ) {
4214 payload , err := json .Marshal (cr )
4315 if err != nil {
4416 return nil , err
4517 }
4618
47- client := & http. Client {}
19+ client := requester . NewHTTPClient ()
4820 req , _ := http .NewRequestWithContext (ctx , "POST" , oai .Config .BaseURL + oai .Config .ChatCompletions , bytes .NewReader (payload ))
4921 req .Header .Add ("Content-Type" , "application/json" )
5022 req .Header .Add ("Authorization" , "Bearer " + oai .APIKey )
@@ -53,15 +25,9 @@ func (oai OpenAIProvider) ChatCompilation(ctx context.Context, cr *llmv1.Complet
5325 if err != nil {
5426 return nil , err
5527 }
56- defer resp .Body .Close ()
57-
58- body , err := io .ReadAll (resp .Body )
59- if err != nil {
60- return nil , err
61- }
6228
6329 var data llmv1.CompletionResponse
64- err = json .Unmarshal (body , & data )
30+ err = json .Unmarshal (resp , & data )
6531 if err != nil {
6632 return nil , err
6733 }
0 commit comments