refactor: chat
This commit is contained in:
parent
2cf01dd12c
commit
5dc51836ef
@ -309,9 +309,8 @@ class BaseChatStep(IChatStep):
|
|||||||
'reasoning_content')
|
'reasoning_content')
|
||||||
asker = manage.context.get('form_data', {}).get('asker', None)
|
asker = manage.context.get('form_data', {}).get('asker', None)
|
||||||
post_response_handler.handler(chat_id, chat_record_id, paragraph_list, problem_text,
|
post_response_handler.handler(chat_id, chat_record_id, paragraph_list, problem_text,
|
||||||
content, manage, self, padding_problem_text, client_id,
|
chat_id, manage, self, padding_problem_text,
|
||||||
reasoning_content=reasoning_content if reasoning_content_enable else '',
|
reasoning_content=reasoning_content if reasoning_content_enable else '')
|
||||||
asker=asker)
|
|
||||||
add_access_num(client_id, client_type, manage.context.get('application_id'))
|
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),
|
return manage.get_base_to_response().to_block_response(str(chat_id), str(chat_record_id),
|
||||||
content, True,
|
content, True,
|
||||||
@ -327,8 +326,8 @@ class BaseChatStep(IChatStep):
|
|||||||
write_context(self, manage, 0, 0, all_text)
|
write_context(self, manage, 0, 0, all_text)
|
||||||
asker = manage.context.get('form_data', {}).get('asker', None)
|
asker = manage.context.get('form_data', {}).get('asker', None)
|
||||||
post_response_handler.handler(chat_id, chat_record_id, paragraph_list, problem_text,
|
post_response_handler.handler(chat_id, chat_record_id, paragraph_list, problem_text,
|
||||||
all_text, manage, self, padding_problem_text, client_id, reasoning_content='',
|
chat_id, manage, self, padding_problem_text,
|
||||||
asker=asker)
|
reasoning_content='')
|
||||||
add_access_num(client_id, client_type, manage.context.get('application_id'))
|
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,
|
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, _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", "对话用户"
|
CHAT_USER = "CHAT_USER", "对话用户"
|
||||||
SYSTEM_API_KEY = "SYSTEM_API_KEY", "系统API_KEY"
|
SYSTEM_API_KEY = "SYSTEM_API_KEY", "系统API_KEY"
|
||||||
APPLICATION_API_KEY = "APPLICATION_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):
|
class Chat(AppModelMixin):
|
||||||
id = models.UUIDField(primary_key=True, max_length=128, default=uuid.uuid7, editable=False, verbose_name="主键id")
|
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)
|
application = models.ForeignKey(Application, on_delete=models.CASCADE)
|
||||||
abstract = models.CharField(max_length=1024, verbose_name="摘要")
|
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,
|
chat_user_type = models.CharField(max_length=64, verbose_name="客户端类型", choices=ChatUserType.choices,
|
||||||
default=ChatUserType.ANONYMOUS_USER)
|
default=ChatUserType.ANONYMOUS_USER)
|
||||||
is_deleted = models.BooleanField(verbose_name="逻辑删除", default=False)
|
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:
|
class Meta:
|
||||||
db_table = "application_chat"
|
db_table = "application_chat"
|
||||||
|
|||||||
@ -270,9 +270,6 @@ class UserManageSerializer(serializers.Serializer):
|
|||||||
user['role_setting'] = user_role_setting_mapping.get(user_id, [])
|
user['role_setting'] = user_role_setting_mapping.get(user_id, [])
|
||||||
return result
|
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
|
@transaction.atomic
|
||||||
def save(self, instance, with_valid=True):
|
def save(self, instance, with_valid=True):
|
||||||
if with_valid:
|
if with_valid:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user