mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-27 20:42:52 +00:00
refactor: chat
This commit is contained in:
parent
2cf01dd12c
commit
5dc51836ef
|
|
@ -309,9 +309,8 @@ class BaseChatStep(IChatStep):
|
|||
'reasoning_content')
|
||||
asker = manage.context.get('form_data', {}).get('asker', None)
|
||||
post_response_handler.handler(chat_id, chat_record_id, paragraph_list, problem_text,
|
||||
content, manage, self, padding_problem_text, client_id,
|
||||
reasoning_content=reasoning_content if reasoning_content_enable else '',
|
||||
asker=asker)
|
||||
chat_id, manage, self, padding_problem_text,
|
||||
reasoning_content=reasoning_content if reasoning_content_enable else '')
|
||||
add_access_num(client_id, client_type, manage.context.get('application_id'))
|
||||
return manage.get_base_to_response().to_block_response(str(chat_id), str(chat_record_id),
|
||||
content, True,
|
||||
|
|
@ -327,8 +326,8 @@ class BaseChatStep(IChatStep):
|
|||
write_context(self, manage, 0, 0, all_text)
|
||||
asker = manage.context.get('form_data', {}).get('asker', None)
|
||||
post_response_handler.handler(chat_id, chat_record_id, paragraph_list, problem_text,
|
||||
all_text, manage, self, padding_problem_text, client_id, reasoning_content='',
|
||||
asker=asker)
|
||||
chat_id, manage, self, padding_problem_text,
|
||||
reasoning_content='')
|
||||
add_access_num(client_id, client_type, manage.context.get('application_id'))
|
||||
return manage.get_base_to_response().to_block_response(str(chat_id), str(chat_record_id), all_text, True, 0,
|
||||
0, _status=status.HTTP_500_INTERNAL_SERVER_ERROR)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
# Generated by Django 5.2.3 on 2025-07-01 02:46
|
||||
|
||||
import application.models.application_chat
|
||||
import common.encoder.encoder
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('application', '0002_alter_application_user_alter_chat_id'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='chat',
|
||||
name='asker',
|
||||
field=models.JSONField(default=application.models.application_chat.default_asker, encoder=common.encoder.encoder.SystemEncoder, verbose_name='访问者'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='chat',
|
||||
name='meta',
|
||||
field=models.JSONField(default=dict, verbose_name='元数据'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='applicationchatuserstats',
|
||||
name='chat_user_type',
|
||||
field=models.CharField(choices=[('ANONYMOUS_USER', '匿名用户'), ('CHAT_USER', '对话用户'), ('SYSTEM_API_KEY', '系统API_KEY'), ('APPLICATION_API_KEY', '应用API_KEY'), ('PLATFORM_USER', '平台用户')], default='ANONYMOUS_USER', max_length=64, verbose_name='对话用户类型'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='chat',
|
||||
name='chat_user_id',
|
||||
field=models.CharField(default=None, null=True, verbose_name='对话用户id'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='chat',
|
||||
name='chat_user_type',
|
||||
field=models.CharField(choices=[('ANONYMOUS_USER', '匿名用户'), ('CHAT_USER', '对话用户'), ('SYSTEM_API_KEY', '系统API_KEY'), ('APPLICATION_API_KEY', '应用API_KEY'), ('PLATFORM_USER', '平台用户')], default='ANONYMOUS_USER', max_length=64, verbose_name='客户端类型'),
|
||||
),
|
||||
]
|
||||
|
|
@ -22,16 +22,23 @@ class ChatUserType(models.TextChoices):
|
|||
CHAT_USER = "CHAT_USER", "对话用户"
|
||||
SYSTEM_API_KEY = "SYSTEM_API_KEY", "系统API_KEY"
|
||||
APPLICATION_API_KEY = "APPLICATION_API_KEY", "应用API_KEY"
|
||||
PLATFORM_USER = "PLATFORM_USER", "平台用户"
|
||||
|
||||
|
||||
def default_asker():
|
||||
return {'user_name': '游客'}
|
||||
|
||||
|
||||
class Chat(AppModelMixin):
|
||||
id = models.UUIDField(primary_key=True, max_length=128, default=uuid.uuid7, editable=False, verbose_name="主键id")
|
||||
application = models.ForeignKey(Application, on_delete=models.CASCADE)
|
||||
abstract = models.CharField(max_length=1024, verbose_name="摘要")
|
||||
chat_user_id = models.UUIDField(verbose_name="客户端id", default=None, null=True)
|
||||
chat_user_id = models.CharField(verbose_name="对话用户id", default=None, null=True)
|
||||
chat_user_type = models.CharField(max_length=64, verbose_name="客户端类型", choices=ChatUserType.choices,
|
||||
default=ChatUserType.ANONYMOUS_USER)
|
||||
is_deleted = models.BooleanField(verbose_name="逻辑删除", default=False)
|
||||
asker = models.JSONField(verbose_name="访问者", default=default_asker, encoder=SystemEncoder)
|
||||
meta = models.JSONField(verbose_name="元数据", default=dict)
|
||||
|
||||
class Meta:
|
||||
db_table = "application_chat"
|
||||
|
|
|
|||
|
|
@ -270,9 +270,6 @@ class UserManageSerializer(serializers.Serializer):
|
|||
user['role_setting'] = user_role_setting_mapping.get(user_id, [])
|
||||
return result
|
||||
|
||||
@valid_license(model=User, count=2,
|
||||
message=_(
|
||||
'The community version supports up to 2 users. If you need more users, please contact us (https://fit2cloud.com/).'))
|
||||
@transaction.atomic
|
||||
def save(self, instance, with_valid=True):
|
||||
if with_valid:
|
||||
|
|
|
|||
Loading…
Reference in New Issue