feat: Add an embedded form to ChatAI

pull/15788/head
jiangweidong 2025-07-25 15:21:12 +08:00 committed by 老广
parent 1074a0df19
commit 6b5d5c15ae
5 changed files with 23 additions and 1 deletions

View File

@ -697,6 +697,8 @@ class Config(dict):
# Chat AI
'CHAT_AI_ENABLED': False,
'CHAT_AI_METHOD': 'api',
'CHAT_AI_EMBED_URL': '',
'CHAT_AI_TYPE': 'gpt',
'GPT_BASE_URL': '',
'GPT_API_KEY': '',

View File

@ -237,6 +237,8 @@ ASSET_SIZE = 'small'
# Chat AI
CHAT_AI_ENABLED = CONFIG.CHAT_AI_ENABLED
CHAT_AI_METHOD = CONFIG.CHAT_AI_METHOD
CHAT_AI_EMBED_URL = CONFIG.CHAT_AI_EMBED_URL
CHAT_AI_TYPE = CONFIG.CHAT_AI_TYPE
GPT_BASE_URL = CONFIG.GPT_BASE_URL
GPT_API_KEY = CONFIG.GPT_API_KEY

View File

@ -1,4 +1,5 @@
from django.db.models import TextChoices
from django.utils.translation import gettext_lazy as _
class ImportStatus(TextChoices):
@ -7,6 +8,11 @@ class ImportStatus(TextChoices):
error = 'error', 'Error'
class ChatAIMethodChoices(TextChoices):
api = 'api', 'API'
embed = 'embed', _('Embed')
class ChatAITypeChoices(TextChoices):
gpt = 'gpt', 'GPT'
deep_seek = 'deep-seek', 'DeepSeek'

View File

@ -13,7 +13,9 @@ __all__ = [
'ChatAISettingSerializer', 'VirtualAppSerializer', 'AmazonSMSerializer',
]
from settings.const import ChatAITypeChoices, GPTModelChoices, DeepSeekModelChoices
from settings.const import (
ChatAITypeChoices, GPTModelChoices, DeepSeekModelChoices, ChatAIMethodChoices
)
class AnnouncementSerializer(serializers.Serializer):
@ -124,6 +126,14 @@ class ChatAISettingSerializer(serializers.Serializer):
CHAT_AI_ENABLED = serializers.BooleanField(
required=False, label=_('Chat AI')
)
CHAT_AI_METHOD = serializers.ChoiceField(
default=ChatAIMethodChoices.api, choices=ChatAIMethodChoices.choices,
label=_("Method"), required=False,
)
CHAT_AI_EMBED_URL = serializers.CharField(
allow_blank=True, required=False, label=_('Base URL'),
help_text=_('The base URL of the Chat service.')
)
CHAT_AI_TYPE = serializers.ChoiceField(
default=ChatAITypeChoices.gpt, choices=ChatAITypeChoices.choices,
label=_("Types"), required=False,

View File

@ -71,6 +71,8 @@ class PrivateSettingSerializer(PublicSettingSerializer):
VAULT_ENABLED = serializers.BooleanField()
VIRTUAL_APP_ENABLED = serializers.BooleanField()
CHAT_AI_ENABLED = serializers.BooleanField()
CHAT_AI_METHOD = serializers.CharField()
CHAT_AI_EMBED_URL = serializers.CharField()
CHAT_AI_TYPE = serializers.CharField()
GPT_MODEL = serializers.CharField()
FILE_UPLOAD_SIZE_LIMIT_MB = serializers.IntegerField()