-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgemini.go
More file actions
42 lines (29 loc) · 833 Bytes
/
gemini.go
File metadata and controls
42 lines (29 loc) · 833 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package sapiens
import openai "github.com/sashabaranov/go-openai"
const (
GeminiBaseUrl = "https://generativelanguage.googleapis.com/v1beta/openai/"
GeminiDefaultModel = "gemini-2.0-flash"
)
type GeminiInterface struct {
BaseUrl string
DefaultModel string
OrgId string
AuthToken string
}
func NewGemini(authToken string) *GeminiInterface {
instance_of_gemini := &GeminiInterface{
BaseUrl: GeminiBaseUrl,
DefaultModel: GeminiDefaultModel,
AuthToken: authToken,
}
return instance_of_gemini
}
func (g *GeminiInterface) Client() *openai.Client {
client_config := openai.DefaultConfig(g.AuthToken)
client_config.BaseURL = g.BaseUrl
client := openai.NewClientWithConfig(client_config)
return client
}
func (g *GeminiInterface) GetDefaultModel() string {
return g.DefaultModel
}