添加国外服务器中转ai请求数据,添加gemini

This commit is contained in:
junleea 2025-05-13 12:05:53 +08:00
parent 36c39974a7
commit 062d8c676b
3 changed files with 44 additions and 1 deletions

View File

@ -444,6 +444,8 @@ func SendMessageForeignAI(c *gin.Context) {
if user.Role == "admin" { if user.Role == "admin" {
//解析请求参数 //解析请求参数
if err := c.ShouldBind(&req); err == nil { if err := c.ShouldBind(&req); err == nil {
reqBytes, _ := json.Marshal(req)
log.Println("SendMessageForeignAI req:", string(reqBytes))
//校验参数 //校验参数
if req.ModelParam.Model == "" || req.ModelParam.Url == "" || req.ModelParam.APIKey == "" { if req.ModelParam.Model == "" || req.ModelParam.Url == "" || req.ModelParam.APIKey == "" {
resp.Code = proto.ParameterError resp.Code = proto.ParameterError

View File

@ -306,3 +306,44 @@ func OpenAIForeignAIResponseToGeneralMassageAndSendMsgQueue(data *proto.ReceiveM
worker.SetRedisWithExpire(data.IMParamContext.Channel+"_stream_msg", answer, time.Second*30) worker.SetRedisWithExpire(data.IMParamContext.Channel+"_stream_msg", answer, time.Second*30)
} }
} }
// 将任务发送到国外服务器
func SendOpenAIForeignAI(modelParam proto.ModelParam, imCtx *proto.IMParamContext, platform string) {
//post请求
url := "https://vis.ljsea.top/im/send_message_foreign_ai?super_id=1"
var req proto.SendMessageForeignAIRRequest
req.IMParamContext = *imCtx
req.ModelParam = modelParam
req.PlatForm = platform
reqBytes, err := json.Marshal(req)
if err != nil {
log.Println("send openai foreign ai request error:", err)
return
}
superTokens := worker.GetRedisSetMembers("super_permission_tokens")
if len(superTokens) == 0 {
log.Println("send openai foreign ai super permission tokens is empty")
return
}
//设置请求头
headers := map[string]string{
"token": superTokens[0],
"super_id": "1",
}
err, respBytes := worker.DoPostRequestJSON(url, reqBytes, headers)
if err != nil {
log.Println("send openai foreign ai request error:", err)
return
}
var resp proto.GenerateResp
err = json.Unmarshal(respBytes, &resp)
if err != nil {
log.Println("send openai foreign ai response error:", err)
return
}
if resp.Code != proto.SuccessCode {
log.Println("send openai foreign ai response error:", resp.Message)
return
}
}

View File

@ -175,7 +175,7 @@ func WSReceiveMessageServiceV2(modelParam proto.ModelParam, ctx *proto.IMParamCo
case proto.ModelTypeHunyuan: case proto.ModelTypeHunyuan:
generalModel.OpenAI(modelParam, ctx, ctx.ModelType) generalModel.OpenAI(modelParam, ctx, ctx.ModelType)
case proto.ModelTypeGemini: case proto.ModelTypeGemini:
generalModel.OpenAIForeignAI(modelParam, ctx, ctx.ModelType) generalModel.SendOpenAIForeignAI(modelParam, ctx, ctx.ModelType)
default: default:
resErr, resID = errors.New("model type not exist:"+ctx.ModelType), 0 resErr, resID = errors.New("model type not exist:"+ctx.ModelType), 0
} }