29 lines
709 B
Go
29 lines
709 B
Go
|
|
package ai
|
||
|
|
|
||
|
|
import (
|
||
|
|
"haixun-backend/internal/model/ai/domain/enum"
|
||
|
|
domai "haixun-backend/internal/model/ai/domain/usecase"
|
||
|
|
"haixun-backend/internal/types"
|
||
|
|
)
|
||
|
|
|
||
|
|
func toGenerateRequest(req *types.AIChatReq, token string) domai.GenerateRequest {
|
||
|
|
messages := make([]domai.Message, 0, len(req.Messages))
|
||
|
|
for _, msg := range req.Messages {
|
||
|
|
messages = append(messages, domai.Message{
|
||
|
|
Role: msg.Role,
|
||
|
|
Content: msg.Content,
|
||
|
|
})
|
||
|
|
}
|
||
|
|
return domai.GenerateRequest{
|
||
|
|
Provider: enum.ProviderID(req.Provider),
|
||
|
|
Model: req.Model,
|
||
|
|
Credential: domai.Credential{
|
||
|
|
APIKey: token,
|
||
|
|
},
|
||
|
|
System: req.System,
|
||
|
|
Messages: messages,
|
||
|
|
Temperature: req.Temperature,
|
||
|
|
MaxTokens: req.MaxTokens,
|
||
|
|
}
|
||
|
|
}
|