forked from eryajf/chatgpt-dingtalk
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpublic.go
33 lines (29 loc) · 1 KB
/
public.go
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
package public
import (
"github.com/eryajf/chatgpt-dingtalk/config"
"github.com/eryajf/chatgpt-dingtalk/pkg/cache"
"github.com/eryajf/chatgpt-dingtalk/pkg/db"
"github.com/eryajf/chatgpt-dingtalk/pkg/dingbot"
"github.com/sashabaranov/go-openai"
)
var UserService cache.UserServiceInterface
var Config *config.Configuration
var Prompt *[]config.Prompt
var DingTalkClientManager dingbot.DingTalkClientManagerInterface
const DingTalkClientIdKeyName = "DingTalkClientId"
func InitSvc() {
// 加载配置
Config = config.LoadConfig()
// 加载prompt
Prompt = config.LoadPrompt()
// 初始化缓存
UserService = cache.NewUserService()
// 初始化钉钉开放平台的客户端,用于访问上传图片等能力
DingTalkClientManager = dingbot.NewDingTalkClientManager(Config)
// 初始化数据库
db.InitDB()
// 暂时不在初始化时获取余额
if Config.Model == openai.GPT3Dot5Turbo0613 || Config.Model == openai.GPT3Dot5Turbo0301 || Config.Model == openai.GPT3Dot5Turbo {
_, _ = GetBalance()
}
}