enable to set the translate model

This commit is contained in:
RockYang
2024-11-08 18:06:39 +08:00
parent 5be4e83876
commit 135755d21d
25 changed files with 328 additions and 207 deletions

View File

@@ -45,20 +45,25 @@ type apiRes struct {
} `json:"choices"`
}
func OpenAIRequest(db *gorm.DB, prompt string, modelName string, keyId int) (string, error) {
func OpenAIRequest(db *gorm.DB, prompt string, modelId int) (string, error) {
messages := make([]interface{}, 1)
messages[0] = types.Message{
Role: "user",
Content: prompt,
}
return SendOpenAIMessage(db, messages, modelName, keyId)
return SendOpenAIMessage(db, messages, modelId)
}
func SendOpenAIMessage(db *gorm.DB, messages []interface{}, modelName string, keyId int) (string, error) {
func SendOpenAIMessage(db *gorm.DB, messages []interface{}, modelId int) (string, error) {
var chatModel model.ChatModel
db.Where("id", modelId).First(&chatModel)
if chatModel.Name == "" {
chatModel.Name = "gpt-4o-mini" // 默认使用 gpt-4o-mini
}
var apiKey model.ApiKey
session := db.Session(&gorm.Session{}).Where("type", "chat").Where("enabled", true)
if keyId > 0 {
session = session.Where("id", keyId)
if chatModel.KeyId > 0 {
session = session.Where("id", chatModel.KeyId)
}
err := session.First(&apiKey).Error
if err != nil {
@@ -71,11 +76,11 @@ func SendOpenAIMessage(db *gorm.DB, messages []interface{}, modelName string, ke
client.SetProxyURL(apiKey.ApiURL)
}
apiURL := fmt.Sprintf("%s/v1/chat/completions", apiKey.ApiURL)
logger.Debugf("Sending %s request, API KEY:%s, PROXY: %s, Model: %s", apiKey.ApiURL, apiURL, apiKey.ProxyURL, modelName)
logger.Infof("Sending %s request, API KEY:%s, PROXY: %s, Model: %s", apiKey.ApiURL, apiURL, apiKey.ProxyURL, chatModel.Name)
r, err := client.R().SetHeader("Body-Type", "application/json").
SetHeader("Authorization", "Bearer "+apiKey.Value).
SetBody(types.ApiRequest{
Model: modelName,
Model: chatModel.Name,
Temperature: 0.9,
MaxTokens: 1024,
Stream: false,