Files
chatgpt-service/chat/common.go
2023-03-22 23:04:05 +08:00

89 lines
1.7 KiB
Go

package chat
import (
"fmt"
"github.com/sashabaranov/go-openai"
log "github.com/sirupsen/logrus"
"math/rand"
"os"
"time"
)
type Logger struct {
}
func (logger *Logger) LoggerInit() {
log.SetFormatter(&log.TextFormatter{
FullTimestamp: true,
TimestampFormat: "2006-01-02 15:04:05.000",
})
log.SetOutput(os.Stdout)
log.SetLevel(log.InfoLevel)
}
func (logger Logger) LogDebug(args ...interface{}) {
log.Debug(args...)
}
func (logger Logger) LogInfo(args ...interface{}) {
log.Info(args...)
}
func (logger Logger) LogWarn(args ...interface{}) {
log.Warn(args...)
}
func (logger Logger) LogError(args ...interface{}) {
log.Error(args...)
}
func (logger Logger) LogPanic(args ...interface{}) {
log.Panic(args...)
}
func RandomString(n int) string {
var letter []rune
lowerChars := "abcdefghijklmnopqrstuvwxyz"
numberChars := "0123456789"
chars := fmt.Sprintf("%s%s", lowerChars, numberChars)
letter = []rune(chars)
var str string
b := make([]rune, n)
seededRand := rand.New(rand.NewSource(time.Now().UnixNano()))
for i := range b {
b[i] = letter[seededRand.Intn(len(letter))]
}
str = string(b)
return str
}
const (
StatusFail string = "FAIL"
PingPeriod = time.Second * 50
PingWait = time.Second * 60
)
var (
GPTModels = []string{
openai.GPT432K0314,
openai.GPT432K,
openai.GPT40314,
openai.GPT4,
openai.GPT3Dot5Turbo0301,
openai.GPT3Dot5Turbo,
openai.GPT3TextDavinci003,
openai.GPT3TextDavinci002,
openai.GPT3TextCurie001,
openai.GPT3TextBabbage001,
openai.GPT3TextAda001,
openai.GPT3TextDavinci001,
openai.GPT3DavinciInstructBeta,
openai.GPT3Davinci,
openai.GPT3CurieInstructBeta,
openai.GPT3Curie,
openai.GPT3Ada,
openai.GPT3Babbage,
}
)