public.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. package public
  2. import (
  3. "github.com/sashabaranov/go-openai"
  4. "github.com/eryajf/chatgpt-dingtalk/config"
  5. "github.com/eryajf/chatgpt-dingtalk/pkg/cache"
  6. "github.com/eryajf/chatgpt-dingtalk/pkg/db"
  7. "github.com/eryajf/chatgpt-dingtalk/pkg/dingbot"
  8. )
  9. var UserService cache.UserServiceInterface
  10. var Config *config.Configuration
  11. var Prompt *[]config.Prompt
  12. var DingTalkClientManager dingbot.DingTalkClientManagerInterface
  13. const DingTalkClientIdKeyName = "DingTalkClientId"
  14. func InitSvc() {
  15. // 加载配置
  16. Config = config.LoadConfig()
  17. // 加载prompt
  18. Prompt = config.LoadPrompt()
  19. // 初始化缓存
  20. UserService = cache.NewUserService()
  21. // 初始化钉钉开放平台的客户端,用于访问上传图片等能力
  22. DingTalkClientManager = dingbot.NewDingTalkClientManager(Config)
  23. // 初始化数据库
  24. db.InitDB()
  25. // 暂时不在初始化时获取余额
  26. if Config.Model == openai.GPT3Dot5Turbo0613 || Config.Model == openai.GPT3Dot5Turbo0301 || Config.Model == openai.GPT3Dot5Turbo {
  27. _, _ = GetBalance()
  28. }
  29. }