mirror of
https://github.com/coaidev/coai.git
synced 2025-05-19 04:50:14 +09:00
55 lines
1.1 KiB
Go
55 lines
1.1 KiB
Go
package skylark
|
|
|
|
import (
|
|
factory "chat/adapter/common"
|
|
"chat/globals"
|
|
"github.com/volcengine/volc-sdk-golang/service/maas"
|
|
"strings"
|
|
)
|
|
|
|
const (
|
|
defaultHost = "maas-api.ml-platform-cn-beijing.volces.com"
|
|
defaultRegion = "cn-beijing"
|
|
)
|
|
|
|
type ChatInstance struct {
|
|
Instance *maas.MaaS
|
|
}
|
|
|
|
func getHost(endpoint string) string {
|
|
seg := strings.Split(endpoint, "://")
|
|
if len(seg) > 1 && seg[1] != "" {
|
|
return seg[1]
|
|
}
|
|
|
|
return defaultHost
|
|
}
|
|
|
|
func getRegion(endpoint string) string {
|
|
host := getHost(endpoint)
|
|
seg := strings.TrimSuffix(strings.TrimPrefix(host, "maas-api.ml-platform-"), ".volces.com")
|
|
if seg != "" {
|
|
return seg
|
|
}
|
|
|
|
return defaultRegion
|
|
}
|
|
|
|
func NewChatInstance(endpoint, accessKey, secretKey string) *ChatInstance {
|
|
instance := maas.NewInstance(getHost(endpoint), getRegion(endpoint))
|
|
instance.SetAccessKey(accessKey)
|
|
instance.SetSecretKey(secretKey)
|
|
return &ChatInstance{
|
|
Instance: instance,
|
|
}
|
|
}
|
|
|
|
func NewChatInstanceFromConfig(conf globals.ChannelConfig) factory.Factory {
|
|
params := conf.SplitRandomSecret(2)
|
|
|
|
return NewChatInstance(
|
|
conf.GetEndpoint(),
|
|
params[0], params[1],
|
|
)
|
|
}
|