diff --git a/apps/application/migrations/0001_initial.py b/apps/application/migrations/0001_initial.py index 04b803f60..6cec518ad 100644 --- a/apps/application/migrations/0001_initial.py +++ b/apps/application/migrations/0001_initial.py @@ -77,7 +77,7 @@ class Migration(migrations.Migration): ('improve_paragraph_id_list', django.contrib.postgres.fields.ArrayField(base_field=models.UUIDField(blank=True), default=list, size=None, verbose_name='改进标注列表')), ('index', models.IntegerField(verbose_name='对话下标')), ('chat', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='application.chat')), - ('dataset', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='dataset.dataset', verbose_name='数据集')), + ('dataset', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='dataset.dataset', verbose_name='知识库')), ('paragraph', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='dataset.paragraph', verbose_name='段落id')), ], options={ diff --git a/apps/application/serializers/application_serializers.py b/apps/application/serializers/application_serializers.py index 3030a638b..41c6d29fe 100644 --- a/apps/application/serializers/application_serializers.py +++ b/apps/application/serializers/application_serializers.py @@ -51,7 +51,7 @@ class ModelDatasetAssociation(serializers.Serializer): QuerySet(DataSet).filter(id__in=dataset_id_list, user_id=user_id)] for dataset_id in dataset_id_list: if not exist_dataset_id_list.__contains__(dataset_id): - raise AppApiException(500, f'数据集id不存在【{dataset_id}】') + raise AppApiException(500, f'知识库id不存在【{dataset_id}】') class ApplicationSerializerModel(serializers.ModelSerializer): @@ -301,12 +301,12 @@ class ApplicationSerializer(serializers.Serializer): if 'dataset_id_list' in instance: dataset_id_list = instance.get('dataset_id_list') - # 当前用户可修改关联的数据集列表 + # 当前用户可修改关联的知识库列表 application_dataset_id_list = [str(dataset_dict.get('id')) for dataset_dict in self.list_dataset(with_valid=False)] for dataset_id in dataset_id_list: if not application_dataset_id_list.__contains__(dataset_id): - raise AppApiException(500, f"未知的数据集id${dataset_id},无法关联") + raise AppApiException(500, f"未知的知识库id${dataset_id},无法关联") # 删除已经关联的id QuerySet(ApplicationDatasetMapping).filter(dataset_id__in=application_dataset_id_list, diff --git a/apps/application/swagger_api/application_api.py b/apps/application/swagger_api/application_api.py index 8b53d56bb..54eccc9ef 100644 --- a/apps/application/swagger_api/application_api.py +++ b/apps/application/swagger_api/application_api.py @@ -60,8 +60,8 @@ class ApplicationApi(ApiMixin): 'update_time': openapi.Schema(type=openapi.TYPE_STRING, title="修改时间", description='修改时间'), 'dataset_id_list': openapi.Schema(type=openapi.TYPE_ARRAY, items=openapi.Schema(type=openapi.TYPE_STRING), - title="关联数据集Id列表", - description="关联数据集Id列表(查询详情的时候返回)") + title="关联知识库Id列表", + description="关联知识库Id列表(查询详情的时候返回)") } ) @@ -145,7 +145,7 @@ class ApplicationApi(ApiMixin): title="示例列表", description="示例列表"), 'dataset_id_list': openapi.Schema(type=openapi.TYPE_ARRAY, items=openapi.Schema(type=openapi.TYPE_STRING), - title="关联数据集Id列表", description="关联数据集Id列表"), + title="关联知识库Id列表", description="关联知识库Id列表"), } ) @@ -167,7 +167,7 @@ class ApplicationApi(ApiMixin): title="示例列表", description="示例列表"), 'dataset_id_list': openapi.Schema(type=openapi.TYPE_ARRAY, items=openapi.Schema(type=openapi.TYPE_STRING), - title="关联数据集Id列表", description="关联数据集Id列表") + title="关联知识库Id列表", description="关联知识库Id列表") } ) diff --git a/apps/application/swagger_api/chat_api.py b/apps/application/swagger_api/chat_api.py index 3a8f3a2ea..07766cf4e 100644 --- a/apps/application/swagger_api/chat_api.py +++ b/apps/application/swagger_api/chat_api.py @@ -44,7 +44,7 @@ class ChatApi(ApiMixin): 'model_id': openapi.Schema(type=openapi.TYPE_STRING, title="模型id", description="模型id"), 'dataset_id_list': openapi.Schema(type=openapi.TYPE_ARRAY, items=openapi.Schema(type=openapi.TYPE_STRING), - title="关联数据集Id列表", description="关联数据集Id列表"), + title="关联知识库Id列表", description="关联知识库Id列表"), 'multiple_rounds_dialogue': openapi.Schema(type=openapi.TYPE_BOOLEAN, title="是否开启多轮会话", description="是否开启多轮会话") } @@ -105,7 +105,7 @@ class ImproveApi(ApiMixin): in_=openapi.IN_PATH, type=openapi.TYPE_STRING, required=True, - description='数据集id'), + description='知识库id'), openapi.Parameter(name='document_id', in_=openapi.IN_PATH, type=openapi.TYPE_STRING, @@ -201,8 +201,8 @@ class ChatRecordImproveApi(ApiMixin): description="点赞数量", default=1), 'trample_num': openapi.Schema(type=openapi.TYPE_INTEGER, title="点踩数量", description="点踩数", default=1), - 'dataset_id': openapi.Schema(type=openapi.TYPE_STRING, title="数据集id", - description="数据集id", default='xxx'), + 'dataset_id': openapi.Schema(type=openapi.TYPE_STRING, title="知识库id", + description="知识库id", default='xxx'), 'document_id': openapi.Schema(type=openapi.TYPE_STRING, title="文档id", description="文档id", default='xxx'), 'is_active': openapi.Schema(type=openapi.TYPE_BOOLEAN, title="是否可用", diff --git a/apps/application/views/application_views.py b/apps/application/views/application_views.py index 4466d4a9b..afe802a5e 100644 --- a/apps/application/views/application_views.py +++ b/apps/application/views/application_views.py @@ -238,8 +238,8 @@ class Application(APIView): authentication_classes = [TokenAuth] @action(methods=['GET'], detail=False) - @swagger_auto_schema(operation_summary="获取当前应用可使用的数据集", - operation_id="获取当前应用可使用的数据集", + @swagger_auto_schema(operation_summary="获取当前应用可使用的知识库", + operation_id="获取当前应用可使用的知识库", manual_parameters=ApplicationApi.Operate.get_request_params_api(), responses=result.get_api_array_response(DataSetSerializers.Query.get_response_body_api()), tags=['应用']) diff --git a/apps/application/views/chat_views.py b/apps/application/views/chat_views.py index 74f96e95e..415c7ca0d 100644 --- a/apps/application/views/chat_views.py +++ b/apps/application/views/chat_views.py @@ -47,7 +47,7 @@ class ChatView(APIView): authentication_classes = [TokenAuth] @action(methods=['POST'], detail=False) - @swagger_auto_schema(operation_summary="获取会话id(根据模型id,数据集列表,是否多轮会话)", + @swagger_auto_schema(operation_summary="获取会话id(根据模型id,知识库列表,是否多轮会话)", operation_id="获取会话id", request_body=ChatApi.OpenTempChat.get_request_body_api(), tags=["应用/会话"]) diff --git a/apps/common/auth/authenticate.py b/apps/common/auth/authenticate.py index c5339b50c..4d009bdb5 100644 --- a/apps/common/auth/authenticate.py +++ b/apps/common/auth/authenticate.py @@ -66,7 +66,7 @@ class TokenAuth(TokenAuthentication): token_cache.touch(auth, timeout=JWT_AUTH['JWT_EXPIRATION_DELTA'].total_seconds()) rule = RoleConstants[user.role] permission_list = get_permission_list_by_role(RoleConstants[user.role]) - # 获取用户的应用和数据集的权限 + # 获取用户的应用和知识库的权限 permission_list += get_user_dynamics_permission(str(user.id)) return user, Auth(role_list=[rule], permission_list=permission_list) diff --git a/apps/common/event/listener_manage.py b/apps/common/event/listener_manage.py index 068e42444..b98a6cc2d 100644 --- a/apps/common/event/listener_manage.py +++ b/apps/common/event/listener_manage.py @@ -92,8 +92,8 @@ class ListenerManagement: @poxy def embedding_by_dataset(dataset_id): """ - 向量化数据集 - :param dataset_id: 数据集id + 向量化知识库 + :param dataset_id: 知识库id :return: None """ status = Status.success @@ -104,7 +104,7 @@ class ListenerManagement: 'paragraph': QuerySet(Paragraph).filter(dataset_id=dataset_id)}, select_string=get_file_content( os.path.join(PROJECT_DIR, "apps", "common", 'sql', 'list_embedding_text.sql'))) - # 删除数据集相关向量数据 + # 删除知识库相关向量数据 VectorStore.get_embedding_vector().delete_by_dataset_id(dataset_id) # 批量向量化 VectorStore.get_embedding_vector().batch_save(data_list) @@ -148,7 +148,7 @@ class ListenerManagement: ListenerManagement.embedding_by_problem_signal.connect(self.embedding_by_problem) # 添加向量 根据段落id ListenerManagement.embedding_by_paragraph_signal.connect(self.embedding_by_paragraph) - # 添加向量 根据数据集id + # 添加向量 根据知识库id ListenerManagement.embedding_by_dataset_signal.connect( self.embedding_by_dataset) # 添加向量 根据文档id @@ -156,7 +156,7 @@ class ListenerManagement: self.embedding_by_document) # 删除 向量 根据文档 ListenerManagement.delete_embedding_by_document_signal.connect(self.delete_embedding_by_document) - # 删除 向量 根据数据集id + # 删除 向量 根据知识库id ListenerManagement.delete_embedding_by_dataset_signal.connect(self.delete_embedding_by_dataset) # 删除向量 根据段落id ListenerManagement.delete_embedding_by_paragraph_signal.connect( diff --git a/apps/dataset/migrations/0001_initial.py b/apps/dataset/migrations/0001_initial.py index 36c30a369..50b72f1dd 100644 --- a/apps/dataset/migrations/0001_initial.py +++ b/apps/dataset/migrations/0001_initial.py @@ -20,7 +20,7 @@ class Migration(migrations.Migration): ('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), ('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')), ('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False, verbose_name='主键id')), - ('name', models.CharField(max_length=150, verbose_name='数据集名称')), + ('name', models.CharField(max_length=150, verbose_name='知识库名称')), ('desc', models.CharField(max_length=256, verbose_name='数据库描述')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='users.user', verbose_name='所属用户')), ], diff --git a/apps/dataset/serializers/dataset_serializers.py b/apps/dataset/serializers/dataset_serializers.py index 61e0f188d..9b9bd8a91 100644 --- a/apps/dataset/serializers/dataset_serializers.py +++ b/apps/dataset/serializers/dataset_serializers.py @@ -69,7 +69,7 @@ class DataSetSerializers(serializers.ModelSerializer): in_=openapi.IN_PATH, type=openapi.TYPE_STRING, required=True, - description='数据集id') + description='知识库id') ] @staticmethod @@ -106,17 +106,17 @@ class DataSetSerializers(serializers.ModelSerializer): name = serializers.CharField(required=False, validators=[ validators.MaxLengthValidator(limit_value=20, - message="数据集名称在1-20个字符之间"), + message="知识库名称在1-20个字符之间"), validators.MinLengthValidator(limit_value=1, - message="数据集名称在1-20个字符之间") + message="知识库名称在1-20个字符之间") ]) desc = serializers.CharField(required=False, validators=[ validators.MaxLengthValidator(limit_value=256, - message="数据集名称在1-256个字符之间"), + message="知识库名称在1-256个字符之间"), validators.MinLengthValidator(limit_value=1, - message="数据集名称在1-256个字符之间") + message="知识库名称在1-256个字符之间") ]) user_id = serializers.CharField(required=True) @@ -169,12 +169,12 @@ class DataSetSerializers(serializers.ModelSerializer): in_=openapi.IN_QUERY, type=openapi.TYPE_STRING, required=False, - description='数据集名称'), + description='知识库名称'), openapi.Parameter(name='desc', in_=openapi.IN_QUERY, type=openapi.TYPE_STRING, required=False, - description='数据集描述') + description='知识库描述') ] @staticmethod @@ -188,17 +188,17 @@ class DataSetSerializers(serializers.ModelSerializer): name = serializers.CharField(required=True, validators=[ validators.MaxLengthValidator(limit_value=20, - message="数据集名称在1-20个字符之间"), + message="知识库名称在1-20个字符之间"), validators.MinLengthValidator(limit_value=1, - message="数据集名称在1-20个字符之间") + message="知识库名称在1-20个字符之间") ]) desc = serializers.CharField(required=True, validators=[ validators.MaxLengthValidator(limit_value=256, - message="数据集名称在1-256个字符之间"), + message="知识库名称在1-256个字符之间"), validators.MinLengthValidator(limit_value=1, - message="数据集名称在1-256个字符之间") + message="知识库名称在1-256个字符之间") ]) documents = DocumentInstanceSerializer(required=False, many=True) @@ -226,7 +226,7 @@ class DataSetSerializers(serializers.ModelSerializer): for problem in document_paragraph_dict_model.get('problem_model_list'): problem_model_list.append(problem) - # 插入数据集 + # 插入知识库 dataset.save() # 插入文档 QuerySet(Document).bulk_create(document_model_list) if len(document_model_list) > 0 else None @@ -250,9 +250,9 @@ class DataSetSerializers(serializers.ModelSerializer): 'id': openapi.Schema(type=openapi.TYPE_STRING, title="id", description="id", default="xx"), 'name': openapi.Schema(type=openapi.TYPE_STRING, title="名称", - description="名称", default="测试数据集"), + description="名称", default="测试知识库"), 'desc': openapi.Schema(type=openapi.TYPE_STRING, title="描述", - description="描述", default="测试数据集描述"), + description="描述", default="测试知识库描述"), 'user_id': openapi.Schema(type=openapi.TYPE_STRING, title="所属用户id", description="所属用户id", default="user_xxxx"), 'char_length': openapi.Schema(type=openapi.TYPE_STRING, title="字符数", @@ -278,8 +278,8 @@ class DataSetSerializers(serializers.ModelSerializer): type=openapi.TYPE_OBJECT, required=['name', 'desc'], properties={ - 'name': openapi.Schema(type=openapi.TYPE_STRING, title="数据集名称", description="数据集名称"), - 'desc': openapi.Schema(type=openapi.TYPE_STRING, title="数据集描述", description="数据集描述"), + 'name': openapi.Schema(type=openapi.TYPE_STRING, title="知识库名称", description="知识库名称"), + 'desc': openapi.Schema(type=openapi.TYPE_STRING, title="知识库描述", description="知识库描述"), 'documents': openapi.Schema(type=openapi.TYPE_ARRAY, title="文档数据", description="文档数据", items=DocumentSerializers().Create.get_request_body_api() ) @@ -350,7 +350,7 @@ class DataSetSerializers(serializers.ModelSerializer): def edit(self, dataset: Dict, user_id: str): """ - 修改数据集 + 修改知识库 :param user_id: 用户id :param dataset: Dict name desc :return: @@ -364,7 +364,7 @@ class DataSetSerializers(serializers.ModelSerializer): _dataset.desc = dataset.get("desc") if 'application_id_list' in dataset and dataset.get('application_id_list') is not None: application_id_list = dataset.get('application_id_list') - # 当前用户可修改关联的数据集列表 + # 当前用户可修改关联的知识库列表 application_dataset_id_list = [str(dataset_dict.get('id')) for dataset_dict in self.list_application(with_valid=False)] for dataset_id in application_id_list: @@ -391,8 +391,8 @@ class DataSetSerializers(serializers.ModelSerializer): type=openapi.TYPE_OBJECT, required=['name', 'desc'], properties={ - 'name': openapi.Schema(type=openapi.TYPE_STRING, title="数据集名称", description="数据集名称"), - 'desc': openapi.Schema(type=openapi.TYPE_STRING, title="数据集描述", description="数据集描述"), + 'name': openapi.Schema(type=openapi.TYPE_STRING, title="知识库名称", description="知识库名称"), + 'desc': openapi.Schema(type=openapi.TYPE_STRING, title="知识库描述", description="知识库描述"), 'application_id_list': openapi.Schema(type=openapi.TYPE_ARRAY, title="应用id列表", description="应用id列表", items=openapi.Schema(type=openapi.TYPE_STRING)) @@ -409,9 +409,9 @@ class DataSetSerializers(serializers.ModelSerializer): 'id': openapi.Schema(type=openapi.TYPE_STRING, title="id", description="id", default="xx"), 'name': openapi.Schema(type=openapi.TYPE_STRING, title="名称", - description="名称", default="测试数据集"), + description="名称", default="测试知识库"), 'desc': openapi.Schema(type=openapi.TYPE_STRING, title="描述", - description="描述", default="测试数据集描述"), + description="描述", default="测试知识库描述"), 'user_id': openapi.Schema(type=openapi.TYPE_STRING, title="所属用户id", description="所属用户id", default="user_xxxx"), 'char_length': openapi.Schema(type=openapi.TYPE_STRING, title="字符数", @@ -434,5 +434,5 @@ class DataSetSerializers(serializers.ModelSerializer): in_=openapi.IN_PATH, type=openapi.TYPE_STRING, required=True, - description='数据集id') + description='知识库id') ] diff --git a/apps/dataset/serializers/document_serializers.py b/apps/dataset/serializers/document_serializers.py index bd9b83248..f687f1516 100644 --- a/apps/dataset/serializers/document_serializers.py +++ b/apps/dataset/serializers/document_serializers.py @@ -34,7 +34,7 @@ class DocumentInstanceSerializer(ApiMixin, serializers.Serializer): validators.MaxLengthValidator(limit_value=128, message="文档名称在1-128个字符之间"), validators.MinLengthValidator(limit_value=1, - message="数据集名称在1-128个字符之间") + message="知识库名称在1-128个字符之间") ]) paragraphs = ParagraphInstanceSerializer(required=False, many=True, allow_null=True) @@ -54,7 +54,7 @@ class DocumentInstanceSerializer(ApiMixin, serializers.Serializer): class DocumentSerializers(ApiMixin, serializers.Serializer): class Query(ApiMixin, serializers.Serializer): - # 数据集id + # 知识库id dataset_id = serializers.UUIDField(required=True) name = serializers.CharField(required=False, @@ -62,7 +62,7 @@ class DocumentSerializers(ApiMixin, serializers.Serializer): validators.MaxLengthValidator(limit_value=128, message="文档名称在1-128个字符之间"), validators.MinLengthValidator(limit_value=1, - message="数据集名称在1-128个字符之间") + message="知识库名称在1-128个字符之间") ]) def get_query_set(self): @@ -108,7 +108,7 @@ class DocumentSerializers(ApiMixin, serializers.Serializer): in_=openapi.IN_PATH, type=openapi.TYPE_STRING, required=True, - description='数据集id'), + description='知识库id'), openapi.Parameter(name='document_id', in_=openapi.IN_PATH, type=openapi.TYPE_STRING, @@ -170,7 +170,7 @@ class DocumentSerializers(ApiMixin, serializers.Serializer): 'id': openapi.Schema(type=openapi.TYPE_STRING, title="id", description="id", default="xx"), 'name': openapi.Schema(type=openapi.TYPE_STRING, title="名称", - description="名称", default="测试数据集"), + description="名称", default="测试知识库"), 'char_length': openapi.Schema(type=openapi.TYPE_INTEGER, title="字符数", description="字符数", default=10), 'user_id': openapi.Schema(type=openapi.TYPE_STRING, title="用户id", description="用户id"), @@ -204,7 +204,7 @@ class DocumentSerializers(ApiMixin, serializers.Serializer): def is_valid(self, *, raise_exception=False): super().is_valid(raise_exception=True) if not QuerySet(DataSet).filter(id=self.data.get('dataset_id')).exists(): - raise AppApiException(10000, "数据集id不存在") + raise AppApiException(10000, "知识库id不存在") return True def save(self, instance: Dict, with_valid=False, with_embedding=True, **kwargs): @@ -264,7 +264,7 @@ class DocumentSerializers(ApiMixin, serializers.Serializer): in_=openapi.IN_PATH, type=openapi.TYPE_STRING, required=True, - description='数据集id') + description='知识库id') ] class Split(ApiMixin, serializers.Serializer): diff --git a/apps/dataset/serializers/paragraph_serializers.py b/apps/dataset/serializers/paragraph_serializers.py index fe8c6ae03..28dbeec04 100644 --- a/apps/dataset/serializers/paragraph_serializers.py +++ b/apps/dataset/serializers/paragraph_serializers.py @@ -72,9 +72,9 @@ class ParagraphSerializers(ApiMixin, serializers.Serializer): class Operate(ApiMixin, serializers.Serializer): # 段落id paragraph_id = serializers.UUIDField(required=True) - # 数据集id + # 知识库id dataset_id = serializers.UUIDField(required=True) - # 数据集id + # 知识库id document_id = serializers.UUIDField(required=True) def is_valid(self, *, raise_exception=True): @@ -218,7 +218,7 @@ class ParagraphSerializers(ApiMixin, serializers.Serializer): in_=openapi.IN_PATH, type=openapi.TYPE_STRING, required=True, - description='数据集id'), + description='知识库id'), openapi.Parameter(name='document_id', in_=openapi.IN_PATH, type=openapi.TYPE_STRING, required=True, @@ -291,8 +291,8 @@ class ParagraphSerializers(ApiMixin, serializers.Serializer): description="点赞数量", default=1), 'trample_num': openapi.Schema(type=openapi.TYPE_INTEGER, title="点踩数量", description="点踩数", default=1), - 'dataset_id': openapi.Schema(type=openapi.TYPE_STRING, title="数据集id", - description="数据集id", default='xxx'), + 'dataset_id': openapi.Schema(type=openapi.TYPE_STRING, title="知识库id", + description="知识库id", default='xxx'), 'document_id': openapi.Schema(type=openapi.TYPE_STRING, title="文档id", description="文档id", default='xxx'), 'is_active': openapi.Schema(type=openapi.TYPE_BOOLEAN, title="是否可用", diff --git a/apps/dataset/serializers/problem_serializers.py b/apps/dataset/serializers/problem_serializers.py index 0fb5fb455..5948ef5b0 100644 --- a/apps/dataset/serializers/problem_serializers.py +++ b/apps/dataset/serializers/problem_serializers.py @@ -94,7 +94,7 @@ class ProblemSerializers(ApiMixin, serializers.Serializer): in_=openapi.IN_PATH, type=openapi.TYPE_STRING, required=True, - description='数据集id'), + description='知识库id'), openapi.Parameter(name='document_id', in_=openapi.IN_PATH, type=openapi.TYPE_STRING, @@ -142,7 +142,7 @@ class ProblemSerializers(ApiMixin, serializers.Serializer): in_=openapi.IN_PATH, type=openapi.TYPE_STRING, required=True, - description='数据集id'), + description='知识库id'), openapi.Parameter(name='document_id', in_=openapi.IN_PATH, type=openapi.TYPE_STRING, @@ -182,7 +182,7 @@ class ProblemSerializers(ApiMixin, serializers.Serializer): in_=openapi.IN_PATH, type=openapi.TYPE_STRING, required=True, - description='数据集id'), + description='知识库id'), openapi.Parameter(name='document_id', in_=openapi.IN_PATH, type=openapi.TYPE_STRING, diff --git a/apps/dataset/views/dataset.py b/apps/dataset/views/dataset.py index 89b1e2e1c..4db678ea7 100644 --- a/apps/dataset/views/dataset.py +++ b/apps/dataset/views/dataset.py @@ -26,22 +26,22 @@ class Dataset(APIView): authentication_classes = [TokenAuth] @action(methods=['GET'], detail=False) - @swagger_auto_schema(operation_summary="获取数据集可用应用列表", - operation_id="获取数据集可用应用列表", + @swagger_auto_schema(operation_summary="获取知识库可用应用列表", + operation_id="获取知识库可用应用列表", manual_parameters=DataSetSerializers.Application.get_request_params_api(), responses=result.get_api_array_response( DataSetSerializers.Application.get_response_body_api()), - tags=["数据集"]) + tags=["知识库"]) def get(self, request: Request, dataset_id: str): return result.success(DataSetSerializers.Operate( data={'id': dataset_id, 'user_id': str(request.user.id)}).list_application()) @action(methods=['GET'], detail=False) - @swagger_auto_schema(operation_summary="获取数据集列表", - operation_id="获取数据集列表", + @swagger_auto_schema(operation_summary="获取知识库列表", + operation_id="获取知识库列表", manual_parameters=DataSetSerializers.Query.get_request_params_api(), responses=result.get_api_array_response(DataSetSerializers.Query.get_response_body_api()), - tags=["数据集"]) + tags=["知识库"]) @has_permissions(PermissionConstants.DATASET_READ, compare=CompareConstants.AND) def get(self, request: Request): d = DataSetSerializers.Query(data={**request.query_params, 'user_id': str(request.user.id)}) @@ -49,11 +49,11 @@ class Dataset(APIView): return result.success(d.list()) @action(methods=['POST'], detail=False) - @swagger_auto_schema(operation_summary="创建数据集", - operation_id="创建数据集", + @swagger_auto_schema(operation_summary="创建知识库", + operation_id="创建知识库", request_body=DataSetSerializers.Create.get_request_body_api(), responses=get_api_response(DataSetSerializers.Create.get_response_body_api()), - tags=["数据集"] + tags=["知识库"] ) @has_permissions(PermissionConstants.DATASET_CREATE, compare=CompareConstants.AND) def post(self, request: Request): @@ -65,10 +65,10 @@ class Dataset(APIView): authentication_classes = [TokenAuth] @action(methods="DELETE", detail=False) - @swagger_auto_schema(operation_summary="删除数据集", operation_id="删除数据集", + @swagger_auto_schema(operation_summary="删除知识库", operation_id="删除知识库", manual_parameters=DataSetSerializers.Operate.get_request_params_api(), responses=result.get_default_response(), - tags=["数据集"]) + tags=["知识库"]) @has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE, dynamic_tag=keywords.get('dataset_id')), lambda r, k: Permission(group=Group.DATASET, operate=Operate.DELETE, @@ -78,10 +78,10 @@ class Dataset(APIView): return result.success(operate.delete()) @action(methods="GET", detail=False) - @swagger_auto_schema(operation_summary="查询数据集详情根据数据集id", operation_id="查询数据集详情根据数据集id", + @swagger_auto_schema(operation_summary="查询知识库详情根据知识库id", operation_id="查询知识库详情根据知识库id", manual_parameters=DataSetSerializers.Operate.get_request_params_api(), responses=get_api_response(DataSetSerializers.Operate.get_response_body_api()), - tags=["数据集"]) + tags=["知识库"]) @has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.USE, dynamic_tag=keywords.get('dataset_id'))) def get(self, request: Request, dataset_id: str): @@ -89,11 +89,11 @@ class Dataset(APIView): user_id=request.user.id)) @action(methods="PUT", detail=False) - @swagger_auto_schema(operation_summary="修改数据集信息", operation_id="修改数据集信息", + @swagger_auto_schema(operation_summary="修改知识库信息", operation_id="修改知识库信息", manual_parameters=DataSetSerializers.Operate.get_request_params_api(), request_body=DataSetSerializers.Operate.get_request_body_api(), responses=get_api_response(DataSetSerializers.Operate.get_response_body_api()), - tags=["数据集"] + tags=["知识库"] ) @has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.MANAGE, dynamic_tag=keywords.get('dataset_id'))) @@ -106,12 +106,12 @@ class Dataset(APIView): authentication_classes = [TokenAuth] @action(methods=['GET'], detail=False) - @swagger_auto_schema(operation_summary="获取数据集分页列表", - operation_id="获取数据集分页列表", + @swagger_auto_schema(operation_summary="获取知识库分页列表", + operation_id="获取知识库分页列表", manual_parameters=get_page_request_params( DataSetSerializers.Query.get_request_params_api()), responses=get_page_api_response(DataSetSerializers.Query.get_response_body_api()), - tags=["数据集"] + tags=["知识库"] ) @has_permissions(PermissionConstants.DATASET_READ, compare=CompareConstants.AND) def get(self, request: Request, current_page, page_size): diff --git a/apps/dataset/views/document.py b/apps/dataset/views/document.py index 566ee1124..77418d118 100644 --- a/apps/dataset/views/document.py +++ b/apps/dataset/views/document.py @@ -29,7 +29,7 @@ class Document(APIView): request_body=DocumentSerializers.Create.get_request_body_api(), manual_parameters=DocumentSerializers.Create.get_request_params_api(), responses=result.get_api_response(DocumentSerializers.Operate.get_response_body_api()), - tags=["数据集/文档"]) + tags=["知识库/文档"]) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE, dynamic_tag=k.get('dataset_id'))) @@ -42,7 +42,7 @@ class Document(APIView): operation_id="文档列表", manual_parameters=DocumentSerializers.Query.get_request_params_api(), responses=result.get_api_response(DocumentSerializers.Query.get_response_body_api()), - tags=["数据集/文档"]) + tags=["知识库/文档"]) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE, dynamic_tag=k.get('dataset_id'))) @@ -63,7 +63,7 @@ class Document(APIView): manual_parameters=DocumentSerializers.Create.get_request_params_api(), responses=result.get_api_array_response( DocumentSerializers.Operate.get_response_body_api()), - tags=["数据集/文档"]) + tags=["知识库/文档"]) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE, dynamic_tag=k.get('dataset_id'))) @@ -78,7 +78,7 @@ class Document(APIView): operation_id="刷新文档向量库", manual_parameters=DocumentSerializers.Operate.get_request_params_api(), responses=result.get_default_response(), - tags=["数据集/文档"] + tags=["知识库/文档"] ) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE, @@ -96,7 +96,7 @@ class Document(APIView): operation_id="获取文档详情", manual_parameters=DocumentSerializers.Operate.get_request_params_api(), responses=result.get_api_response(DocumentSerializers.Operate.get_response_body_api()), - tags=["数据集/文档"]) + tags=["知识库/文档"]) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE, dynamic_tag=k.get('dataset_id'))) @@ -111,7 +111,7 @@ class Document(APIView): manual_parameters=DocumentSerializers.Operate.get_request_params_api(), request_body=DocumentSerializers.Operate.get_request_body_api(), responses=result.get_api_response(DocumentSerializers.Operate.get_response_body_api()), - tags=["数据集/文档"] + tags=["知识库/文档"] ) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE, @@ -127,7 +127,7 @@ class Document(APIView): operation_id="删除文档", manual_parameters=DocumentSerializers.Operate.get_request_params_api(), responses=result.get_default_response(), - tags=["数据集/文档"]) + tags=["知识库/文档"]) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE, dynamic_tag=k.get('dataset_id'))) @@ -140,7 +140,7 @@ class Document(APIView): @action(methods=['GET'], detail=False) @swagger_auto_schema(operation_summary="获取分段标识列表", operation_id="获取分段标识列表", - tags=["数据集/文档"], + tags=["知识库/文档"], security=[]) def get(self, request: Request): return result.success(DocumentSerializers.SplitPattern.list()) @@ -152,7 +152,7 @@ class Document(APIView): @swagger_auto_schema(operation_summary="分段文档", operation_id="分段文档", manual_parameters=DocumentSerializers.Split.get_request_params_api(), - tags=["数据集/文档"], + tags=["知识库/文档"], security=[]) def post(self, request: Request): split_data = {'file': request.FILES.getlist('file')} @@ -173,11 +173,11 @@ class Document(APIView): authentication_classes = [TokenAuth] @action(methods=['GET'], detail=False) - @swagger_auto_schema(operation_summary="获取数据集分页列表", - operation_id="获取数据集分页列表", + @swagger_auto_schema(operation_summary="获取知识库分页列表", + operation_id="获取知识库分页列表", manual_parameters=DocumentSerializers.Query.get_request_params_api(), responses=result.get_page_api_response(DocumentSerializers.Query.get_response_body_api()), - tags=["数据集/文档"]) + tags=["知识库/文档"]) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE, dynamic_tag=k.get('dataset_id'))) diff --git a/apps/dataset/views/paragraph.py b/apps/dataset/views/paragraph.py index 6162c939b..e530769c9 100644 --- a/apps/dataset/views/paragraph.py +++ b/apps/dataset/views/paragraph.py @@ -26,7 +26,7 @@ class Paragraph(APIView): operation_id="段落列表", manual_parameters=ParagraphSerializers.Query.get_request_params_api(), responses=result.get_api_array_response(ParagraphSerializers.Query.get_response_body_api()), - tags=["数据集/文档/段落"] + tags=["知识库/文档/段落"] ) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE, @@ -44,7 +44,7 @@ class Paragraph(APIView): manual_parameters=ParagraphSerializers.Create.get_request_params_api(), request_body=ParagraphSerializers.Create.get_request_body_api(), responses=result.get_api_response(ParagraphSerializers.Query.get_response_body_api()), - tags=["数据集/文档/段落"]) + tags=["知识库/文档/段落"]) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE, dynamic_tag=k.get('dataset_id'))) @@ -61,7 +61,7 @@ class Paragraph(APIView): manual_parameters=ParagraphSerializers.Operate.get_request_params_api(), request_body=ParagraphSerializers.Operate.get_request_body_api(), responses=result.get_api_response(ParagraphSerializers.Operate.get_response_body_api()) - ,tags=["数据集/文档/段落"]) + ,tags=["知识库/文档/段落"]) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE, dynamic_tag=k.get('dataset_id'))) @@ -76,7 +76,7 @@ class Paragraph(APIView): operation_id="获取段落详情", manual_parameters=ParagraphSerializers.Operate.get_request_params_api(), responses=result.get_api_response(ParagraphSerializers.Operate.get_response_body_api()), - tags=["数据集/文档/段落"]) + tags=["知识库/文档/段落"]) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE, dynamic_tag=k.get('dataset_id'))) @@ -91,7 +91,7 @@ class Paragraph(APIView): operation_id="删除段落", manual_parameters=ParagraphSerializers.Operate.get_request_params_api(), responses=result.get_default_response(), - tags=["数据集/文档/段落"]) + tags=["知识库/文档/段落"]) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE, dynamic_tag=k.get('dataset_id'))) @@ -110,7 +110,7 @@ class Paragraph(APIView): manual_parameters=result.get_page_request_params( ParagraphSerializers.Query.get_request_params_api()), responses=result.get_page_api_response(ParagraphSerializers.Query.get_response_body_api()), - tags=["数据集/文档/段落"]) + tags=["知识库/文档/段落"]) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE, dynamic_tag=k.get('dataset_id'))) diff --git a/apps/dataset/views/problem.py b/apps/dataset/views/problem.py index 5e77a880a..6c9408f5d 100644 --- a/apps/dataset/views/problem.py +++ b/apps/dataset/views/problem.py @@ -26,7 +26,7 @@ class Problem(APIView): manual_parameters=ProblemSerializers.Create.get_request_params_api(), request_body=ProblemSerializers.Create.get_request_body_api(), responses=result.get_api_response(ProblemSerializers.Operate.get_response_body_api()), - tags=["数据集/文档/段落/问题"]) + tags=["知识库/文档/段落/问题"]) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE, dynamic_tag=k.get('dataset_id'))) @@ -40,7 +40,7 @@ class Problem(APIView): operation_id="获取段落问题列表", manual_parameters=ProblemSerializers.Query.get_request_params_api(), responses=result.get_api_array_response(ProblemSerializers.Operate.get_response_body_api()), - tags=["数据集/文档/段落/问题"]) + tags=["知识库/文档/段落/问题"]) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.USE, dynamic_tag=k.get('dataset_id'))) @@ -57,7 +57,7 @@ class Problem(APIView): operation_id="删除段落问题", manual_parameters=ProblemSerializers.Query.get_request_params_api(), responses=result.get_default_response(), - tags=["数据集/文档/段落/问题"]) + tags=["知识库/文档/段落/问题"]) @has_permissions( lambda r, k: Permission(group=Group.DATASET, operate=Operate.MANAGE, dynamic_tag=k.get('dataset_id'))) diff --git a/apps/embedding/vector/base_vector.py b/apps/embedding/vector/base_vector.py index 4a19f838d..c63efb019 100644 --- a/apps/embedding/vector/base_vector.py +++ b/apps/embedding/vector/base_vector.py @@ -54,7 +54,7 @@ class BaseVectorStore(ABC): """ 插入向量数据 :param source_id: 资源id - :param dataset_id: 数据集id + :param dataset_id: 知识库id :param text: 文本 :param source_type: 资源类型 :param document_id: 文档id diff --git a/apps/setting/migrations/0001_initial.py b/apps/setting/migrations/0001_initial.py index 046f5ce7d..87c4b1167 100644 --- a/apps/setting/migrations/0001_initial.py +++ b/apps/setting/migrations/0001_initial.py @@ -46,8 +46,8 @@ class Migration(migrations.Migration): ('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), ('update_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')), ('id', models.UUIDField(default=uuid.uuid1, editable=False, primary_key=True, serialize=False, verbose_name='主键id')), - ('auth_target_type', models.CharField(choices=[('DATASET', '数据集'), ('APPLICATION', '应用')], default='DATASET', max_length=128, verbose_name='授权目标')), - ('target', models.UUIDField(verbose_name='数据集/应用id')), + ('auth_target_type', models.CharField(choices=[('DATASET', '知识库'), ('APPLICATION', '应用')], default='DATASET', max_length=128, verbose_name='授权目标')), + ('target', models.UUIDField(verbose_name='知识库/应用id')), ('operate', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(blank=True, choices=[('MANAGE', '管理'), ('USE', '使用')], default='USE', max_length=256), size=None, verbose_name='权限操作列表')), ('member', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='setting.teammember', verbose_name='团队成员')), ], diff --git a/apps/setting/models_provider/impl/wenxin_model_provider/wenxin_model_provider.py b/apps/setting/models_provider/impl/wenxin_model_provider/wenxin_model_provider.py index 22c33cb11..8ce0a1a7d 100644 --- a/apps/setting/models_provider/impl/wenxin_model_provider/wenxin_model_provider.py +++ b/apps/setting/models_provider/impl/wenxin_model_provider/wenxin_model_provider.py @@ -92,11 +92,11 @@ model_dict = { ModelTypeConst.LLM, win_xin_llm_model_credential), 'Qianfan-Chinese-Llama-2-7B': ModelInfo('Qianfan-Chinese-Llama-2-7B', - '千帆团队在Llama-2-7b基础上的中文增强版本,在CMMLU、C-EVAL等中文数据集上表现优异。', + '千帆团队在Llama-2-7b基础上的中文增强版本,在CMMLU、C-EVAL等中文知识库上表现优异。', ModelTypeConst.LLM, win_xin_llm_model_credential), 'Qianfan-Chinese-Llama-2-13B': ModelInfo('Qianfan-Chinese-Llama-2-13B', - '千帆团队在Llama-2-13b基础上的中文增强版本,在CMMLU、C-EVAL等中文数据集上表现优异。', + '千帆团队在Llama-2-13b基础上的中文增强版本,在CMMLU、C-EVAL等中文知识库上表现优异。', ModelTypeConst.LLM, win_xin_llm_model_credential) } diff --git a/apps/setting/serializers/team_serializers.py b/apps/setting/serializers/team_serializers.py index b0c770a7f..9750d68c0 100644 --- a/apps/setting/serializers/team_serializers.py +++ b/apps/setting/serializers/team_serializers.py @@ -77,8 +77,8 @@ class UpdateTeamMemberItemPermissionSerializer(ApiMixin, serializers.Serializer) type=openapi.TYPE_OBJECT, required=['id', 'type', 'operate'], properties={ - 'target_id': openapi.Schema(type=openapi.TYPE_STRING, title="数据集/应用id", - description="数据集或者应用的id"), + 'target_id': openapi.Schema(type=openapi.TYPE_STRING, title="知识库/应用id", + description="知识库或者应用的id"), 'type': openapi.Schema(type=openapi.TYPE_STRING, title="类型", description="DATASET|APPLICATION", @@ -99,7 +99,7 @@ class UpdateTeamMemberPermissionSerializer(ApiMixin, serializers.Serializer): os.path.join(PROJECT_DIR, "apps", "setting", 'sql', 'check_member_permission_target_exists.sql')), [json.dumps(permission_list), user_id, user_id]) if illegal_target_id_list is not None and len(illegal_target_id_list) > 0: - raise AppApiException(500, '不存在的 应用|数据集id[' + str(illegal_target_id_list) + ']') + raise AppApiException(500, '不存在的 应用|知识库id[' + str(illegal_target_id_list) + ']') def update_or_save(self, member_id: str): team_member_permission_list = self.data.get("team_member_permission_list") @@ -264,7 +264,7 @@ class TeamMemberSerializer(ApiMixin, serializers.Serializer): self.is_valid(raise_exception=True) team_id = self.data.get('team_id') member_id = self.data.get("member_id") - # 查询当前团队成员所有的数据集和应用的权限 注意 operate为null是为设置权限 默认值都是false + # 查询当前团队成员所有的知识库和应用的权限 注意 operate为null是为设置权限 默认值都是false member_permission_list = select_list( get_file_content(os.path.join(PROJECT_DIR, "apps", "setting", 'sql', 'get_member_permission.sql')), [team_id, team_id, (member_id if member_id != 'root' else uuid.uuid1())]) diff --git a/ui/src/api/application.ts b/ui/src/api/application.ts index d7aac393d..e1bf67c01 100644 --- a/ui/src/api/application.ts +++ b/ui/src/api/application.ts @@ -104,7 +104,7 @@ const getApplicationDetail: ( } /** - * 获得当前应用可使用的数据集 + * 获得当前应用可使用的知识库 * @param 参数 applicaiton_id */ const getApplicationDataset: ( diff --git a/ui/src/api/dataset.ts b/ui/src/api/dataset.ts index a0e89b98b..e2c7c6a0e 100644 --- a/ui/src/api/dataset.ts +++ b/ui/src/api/dataset.ts @@ -7,7 +7,7 @@ import { type Ref } from 'vue' const prefix = '/dataset' /** - * 获取分页数据集 + * 获取分页知识库 * @param 参数 * page { "current_page": "string", @@ -26,7 +26,7 @@ const getDateset: ( } /** - * 获取全部数据集 + * 获取全部知识库 * @param 参数 */ const getAllDateset: (loading?: Ref) => Promise> = (loading) => { @@ -34,7 +34,7 @@ const getAllDateset: (loading?: Ref) => Promise> = (loadi } /** - * 删除数据集 + * 删除知识库 * @param 参数 dataset_id */ const delDateset: (dataset_id: String, loading?: Ref) => Promise> = ( @@ -45,7 +45,7 @@ const delDateset: (dataset_id: String, loading?: Ref) => Promise Promise> = (data) => { } /** - * 数据集详情 + * 知识库详情 * @param 参数 dataset_id */ const getDatesetDetail: (dataset_id: string) => Promise> = (dataset_id) => { @@ -82,7 +82,7 @@ const getDatesetDetail: (dataset_id: string) => Promise> = (dataset_ } /** - * 修改数据集信息 + * 修改知识库信息 * @param 参数 * dataset_id * { @@ -97,7 +97,7 @@ const putDateset: (dataset_id: string, data: any) => Promise> = ( return put(`${prefix}/${dataset_id}`, data) } /** - * 获取数据集 可关联的应用列表 + * 获取知识库 可关联的应用列表 * @param dataset_id * @param loading * @returns diff --git a/ui/src/assets/logo.png b/ui/src/assets/logo.png index e9e17f4e3..7d9781edb 100644 Binary files a/ui/src/assets/logo.png and b/ui/src/assets/logo.png differ diff --git a/ui/src/assets/logo.svg b/ui/src/assets/logo.svg deleted file mode 100644 index cf5f3ffb8..000000000 --- a/ui/src/assets/logo.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/ui/src/components/login-container/index.vue b/ui/src/components/login-container/index.vue index a87568cb4..fd9bc4639 100644 --- a/ui/src/components/login-container/index.vue +++ b/ui/src/components/login-container/index.vue @@ -32,11 +32,10 @@ defineProps({ .title { font-size: 32px; .logo { - background-image: url('@/assets/logo.svg'); + background-image: url('@/assets/logo.png'); background-size: 100% 100%; width: 45px; height: 45px; - background-position: center -2px; } } .sub-title { diff --git a/ui/src/layout/components/breadcrumb/index.vue b/ui/src/layout/components/breadcrumb/index.vue index 0f3f01c02..92b6e096c 100644 --- a/ui/src/layout/components/breadcrumb/index.vue +++ b/ui/src/layout/components/breadcrumb/index.vue @@ -42,7 +42,7 @@ diff --git a/ui/src/layout/components/top-bar/avatar/AboutDialog.vue b/ui/src/layout/components/top-bar/avatar/AboutDialog.vue new file mode 100644 index 000000000..18571bcfc --- /dev/null +++ b/ui/src/layout/components/top-bar/avatar/AboutDialog.vue @@ -0,0 +1,67 @@ + + + diff --git a/ui/src/layout/components/top-bar/avatar/index.vue b/ui/src/layout/components/top-bar/avatar/index.vue index e8a0eb93e..dd3a316cb 100644 --- a/ui/src/layout/components/top-bar/avatar/index.vue +++ b/ui/src/layout/components/top-bar/avatar/index.vue @@ -23,23 +23,30 @@ 修改密码 - 关于 + 关于 退出 +