mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-07-29 04:08:12 +08:00
fix: show resolved embedding model display name in dataset list (#17415)
This commit is contained in:
@@ -182,6 +182,7 @@ func (dao *KnowledgebaseDAO) GetByTenantIDs(ctx context.Context, db *gorm.DB, te
|
||||
knowledgebase.language, knowledgebase.description, knowledgebase.tenant_id,
|
||||
knowledgebase.permission, knowledgebase.doc_num, knowledgebase.token_num,
|
||||
knowledgebase.chunk_num, knowledgebase.parser_id, knowledgebase.embd_id,
|
||||
knowledgebase.tenant_embd_id,
|
||||
user.nickname, user.avatar as tenant_avatar, knowledgebase.update_time`).
|
||||
Joins("LEFT JOIN user ON knowledgebase.tenant_id = user.id").
|
||||
Where("((knowledgebase.tenant_id IN ? AND knowledgebase.permission = ?) OR knowledgebase.tenant_id = ?) AND knowledgebase.status = ?",
|
||||
|
||||
@@ -235,6 +235,7 @@ type KnowledgebaseListItem struct {
|
||||
ChunkNum int64 `json:"chunk_num"`
|
||||
ParserID string `json:"parser_id"`
|
||||
EmbdID string `json:"embd_id"`
|
||||
TenantEmbdID *string `json:"tenant_embd_id,omitempty"`
|
||||
Nickname string `json:"nickname"`
|
||||
TenantAvatar *string `json:"tenant_avatar,omitempty"`
|
||||
UpdateTime *int64 `json:"update_time,omitempty"`
|
||||
|
||||
@@ -383,11 +383,20 @@ func (d *DatasetService) ListDatasets(ctx context.Context, id, name string, page
|
||||
}
|
||||
|
||||
data := make([]map[string]interface{}, 0, len(kbs))
|
||||
modelNameCache := make(map[string]string)
|
||||
for _, kb := range kbs {
|
||||
if kb == nil {
|
||||
continue
|
||||
}
|
||||
data = append(data, datasetListItemToMap(kb))
|
||||
item := datasetListItemToMap(kb)
|
||||
// Mirror the memory list: surface the concrete model display name
|
||||
// (modelName@instance@provider) instead of a raw tenant_model ID.
|
||||
tenantEmbdID := ptrStringValue(kb.TenantEmbdID)
|
||||
if tenantEmbdID == "" && isHexID(kb.EmbdID) {
|
||||
tenantEmbdID = kb.EmbdID
|
||||
}
|
||||
item["embedding_model"] = service.ResolveTenantModelDisplayName(tenantEmbdID, kb.EmbdID, modelNameCache)
|
||||
data = append(data, item)
|
||||
}
|
||||
|
||||
return data, total, common.CodeSuccess, nil
|
||||
|
||||
@@ -1469,8 +1469,8 @@ func (s *MemoryService) ListMemories(ctx context.Context, userID string, tenantI
|
||||
}
|
||||
memoryMap := map[string]interface{}{
|
||||
"id": resp.ID,
|
||||
"llm_id": resolveTenantModelDisplayName(ptrStringValue(resp.TenantLLMID), resp.LLMID, modelNameCache),
|
||||
"embd_id": resolveTenantModelDisplayName(ptrStringValue(resp.TenantEmbdID), resp.EmbdID, modelNameCache),
|
||||
"llm_id": ResolveTenantModelDisplayName(ptrStringValue(resp.TenantLLMID), resp.LLMID, modelNameCache),
|
||||
"embd_id": ResolveTenantModelDisplayName(ptrStringValue(resp.TenantEmbdID), resp.EmbdID, modelNameCache),
|
||||
"name": resp.Name,
|
||||
"avatar": resp.Avatar,
|
||||
"tenant_id": resp.TenantID,
|
||||
@@ -1491,10 +1491,10 @@ func (s *MemoryService) ListMemories(ctx context.Context, userID string, tenantI
|
||||
}, nil
|
||||
}
|
||||
|
||||
// resolveTenantModelDisplayName turns a tenant_model ID into
|
||||
// ResolveTenantModelDisplayName turns a tenant_model ID into
|
||||
// modelName@instance@provider. rawModelID is the API-facing fallback
|
||||
// stored on memory.llm_id / memory.embd_id.
|
||||
func resolveTenantModelDisplayName(tenantModelID, rawModelID string, cache map[string]string) string {
|
||||
// stored on memory.llm_id / memory.embd_id / knowledgebase.embd_id.
|
||||
func ResolveTenantModelDisplayName(tenantModelID, rawModelID string, cache map[string]string) string {
|
||||
tenantModelID = strings.TrimSpace(tenantModelID)
|
||||
rawModelID = strings.TrimSpace(rawModelID)
|
||||
if tenantModelID == "" || strings.Contains(tenantModelID, "@") {
|
||||
|
||||
Reference in New Issue
Block a user