mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-07-07 03:48:44 +08:00
Add extra field to model instance (#14203)
### What problem does this PR solve? Now each model support region with different URL ### Type of change - [x] New Feature (non-breaking change which adds functionality) --------- Signed-off-by: Jin Hai <haijin.chn@gmail.com>
This commit is contained in:
@@ -192,7 +192,7 @@ func (h *ProviderHandler) ListModels(c *gin.Context) {
|
||||
})
|
||||
return
|
||||
}
|
||||
models, err := dao.GetModelProviderManager().ListModels(providerName)
|
||||
providerModels, err := dao.GetModelProviderManager().ListModels(providerName)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": common.CodeNotFound,
|
||||
@@ -203,7 +203,7 @@ func (h *ProviderHandler) ListModels(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"message": "success",
|
||||
"data": models,
|
||||
"data": providerModels,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -274,7 +274,7 @@ func (h *ProviderHandler) CreateProviderInstance(c *gin.Context) {
|
||||
|
||||
userID := c.GetString("user_id")
|
||||
|
||||
_, err := h.modelProviderService.CreateProviderInstance(providerName, req.InstanceName, req.APIKey, userID)
|
||||
_, err := h.modelProviderService.CreateProviderInstance(providerName, req.InstanceName, req.APIKey, userID, "default")
|
||||
if err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": common.CodeServerError,
|
||||
@@ -458,7 +458,7 @@ func (h *ProviderHandler) ListInstanceModels(c *gin.Context) {
|
||||
})
|
||||
return
|
||||
}
|
||||
models, err := h.modelProviderService.ListInstanceModels(providerName, instanceName, c.GetString("user_id"))
|
||||
modelInstances, err := h.modelProviderService.ListInstanceModels(providerName, instanceName, c.GetString("user_id"))
|
||||
if err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": common.CodeNotFound,
|
||||
@@ -469,7 +469,7 @@ func (h *ProviderHandler) ListInstanceModels(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"message": "success",
|
||||
"data": models,
|
||||
"data": modelInstances,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -618,6 +618,7 @@ func (h *ProviderHandler) ChatToModel(c *gin.Context) {
|
||||
MaxTokens: nil,
|
||||
Temperature: nil,
|
||||
TopP: nil,
|
||||
Region: nil,
|
||||
}
|
||||
|
||||
// Stream response using sender function (best performance, no channel)
|
||||
@@ -629,8 +630,19 @@ func (h *ProviderHandler) ChatToModel(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
chatConfig := models.ChatConfig{
|
||||
Reasoning: &req.Reasoning,
|
||||
Stream: &req.Stream,
|
||||
Stop: &[]string{},
|
||||
DoSample: nil,
|
||||
MaxTokens: nil,
|
||||
Temperature: nil,
|
||||
TopP: nil,
|
||||
Region: nil,
|
||||
}
|
||||
|
||||
// Non-stream response
|
||||
response, errorCode, err := h.modelProviderService.ChatToModel(providerName, instanceName, modelName, userID, req.Message)
|
||||
response, errorCode, err := h.modelProviderService.ChatToModel(providerName, instanceName, modelName, userID, req.Message, &chatConfig)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": errorCode,
|
||||
|
||||
@@ -76,9 +76,9 @@ func (h *TenantHandler) GetModels(c *gin.Context) {
|
||||
}
|
||||
|
||||
type SetModelRequest struct {
|
||||
ModelProvider string `json:"model_provider" binding:"required"`
|
||||
ModelInstance string `json:"model_instance" binding:"required"`
|
||||
ModelName string `json:"model_name" binding:"required"`
|
||||
ModelProvider string `json:"model_provider"`
|
||||
ModelInstance string `json:"model_instance"`
|
||||
ModelName string `json:"model_name"`
|
||||
ModelType string `json:"model_type" binding:"required"`
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user