UnisKB/apps/common/swagger_api/common_api.py

88 lines
4.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# coding=utf-8
"""
@project: maxkb
@Author
@file common.py
@date2023/12/25 16:17
@desc:
"""
from drf_yasg import openapi
from common.mixins.api_mixin import ApiMixin
from django.utils.translation import gettext_lazy as _
class CommonApi:
class HitTestApi(ApiMixin):
@staticmethod
def get_request_params_api():
return [
openapi.Parameter(name='query_text',
in_=openapi.IN_QUERY,
type=openapi.TYPE_STRING,
required=True,
description=_('query text')),
openapi.Parameter(name='top_number',
in_=openapi.IN_QUERY,
type=openapi.TYPE_NUMBER,
default=10,
required=True,
description='topN'),
openapi.Parameter(name='similarity',
in_=openapi.IN_QUERY,
type=openapi.TYPE_NUMBER,
default=0.6,
required=True,
description=_('similarity')),
openapi.Parameter(name='search_mode',
in_=openapi.IN_QUERY,
type=openapi.TYPE_STRING,
default="embedding",
required=True,
description=_('Retrieval pattern embedding|keywords|blend')
)
]
@staticmethod
def get_response_body_api():
return openapi.Schema(
type=openapi.TYPE_OBJECT,
required=['id', 'content', 'hit_num', 'star_num', 'trample_num', 'is_active', 'dataset_id',
'document_id', 'title',
'similarity', 'comprehensive_score',
'create_time', 'update_time'],
properties={
'id': openapi.Schema(type=openapi.TYPE_STRING, title="id",
description="id", default="xx"),
'content': openapi.Schema(type=openapi.TYPE_STRING, title=_('Paragraph content'),
description=_('Paragraph content'), default=_('Paragraph content')),
'title': openapi.Schema(type=openapi.TYPE_STRING, title=_('title'),
description=_('title'), default=_('Description of xxx')),
'hit_num': openapi.Schema(type=openapi.TYPE_INTEGER, title=_('Number of hits'),
description=_('Number of hits'),
default=1),
'star_num': openapi.Schema(type=openapi.TYPE_INTEGER, title=_('Number of likes'),
description=_('Number of likes'), default=1),
'trample_num': openapi.Schema(type=openapi.TYPE_INTEGER, title=_('Number of clicks and dislikes'),
description=_('Number of clicks and dislikes'), default=1),
'dataset_id': openapi.Schema(type=openapi.TYPE_STRING, title=_('dataset id'),
description=_('dataset id'), default='xxx'),
'document_id': openapi.Schema(type=openapi.TYPE_STRING, title=_('document id'),
description=_('document id'), default='xxx'),
'is_active': openapi.Schema(type=openapi.TYPE_BOOLEAN, title=_('Is active'),
description=_('Is active'), default=True),
'similarity': openapi.Schema(type=openapi.TYPE_NUMBER, title=_('relevance score'),
description=_('relevance score'), default=True),
'comprehensive_score': openapi.Schema(type=openapi.TYPE_NUMBER, title=_('Comprehensive score, used for ranking'),
description=_('Comprehensive score, used for ranking'), default=True),
'update_time': openapi.Schema(type=openapi.TYPE_STRING, title=_('Update time'),
description=_('Update time'),
default="1970-01-01 00:00:00"),
'create_time': openapi.Schema(type=openapi.TYPE_STRING, title=_('Create time'),
description=_('Create time'),
default="1970-01-01 00:00:00"
),
}
)