mirror of https://github.com/jumpserver/jumpserver
feat: Add an embedded form to ChatAI
parent
1074a0df19
commit
6b5d5c15ae
|
@ -697,6 +697,8 @@ class Config(dict):
|
||||||
|
|
||||||
# Chat AI
|
# Chat AI
|
||||||
'CHAT_AI_ENABLED': False,
|
'CHAT_AI_ENABLED': False,
|
||||||
|
'CHAT_AI_METHOD': 'api',
|
||||||
|
'CHAT_AI_EMBED_URL': '',
|
||||||
'CHAT_AI_TYPE': 'gpt',
|
'CHAT_AI_TYPE': 'gpt',
|
||||||
'GPT_BASE_URL': '',
|
'GPT_BASE_URL': '',
|
||||||
'GPT_API_KEY': '',
|
'GPT_API_KEY': '',
|
||||||
|
|
|
@ -237,6 +237,8 @@ ASSET_SIZE = 'small'
|
||||||
|
|
||||||
# Chat AI
|
# Chat AI
|
||||||
CHAT_AI_ENABLED = CONFIG.CHAT_AI_ENABLED
|
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
|
CHAT_AI_TYPE = CONFIG.CHAT_AI_TYPE
|
||||||
GPT_BASE_URL = CONFIG.GPT_BASE_URL
|
GPT_BASE_URL = CONFIG.GPT_BASE_URL
|
||||||
GPT_API_KEY = CONFIG.GPT_API_KEY
|
GPT_API_KEY = CONFIG.GPT_API_KEY
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
from django.db.models import TextChoices
|
from django.db.models import TextChoices
|
||||||
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
|
|
||||||
class ImportStatus(TextChoices):
|
class ImportStatus(TextChoices):
|
||||||
|
@ -7,6 +8,11 @@ class ImportStatus(TextChoices):
|
||||||
error = 'error', 'Error'
|
error = 'error', 'Error'
|
||||||
|
|
||||||
|
|
||||||
|
class ChatAIMethodChoices(TextChoices):
|
||||||
|
api = 'api', 'API'
|
||||||
|
embed = 'embed', _('Embed')
|
||||||
|
|
||||||
|
|
||||||
class ChatAITypeChoices(TextChoices):
|
class ChatAITypeChoices(TextChoices):
|
||||||
gpt = 'gpt', 'GPT'
|
gpt = 'gpt', 'GPT'
|
||||||
deep_seek = 'deep-seek', 'DeepSeek'
|
deep_seek = 'deep-seek', 'DeepSeek'
|
||||||
|
|
|
@ -13,7 +13,9 @@ __all__ = [
|
||||||
'ChatAISettingSerializer', 'VirtualAppSerializer', 'AmazonSMSerializer',
|
'ChatAISettingSerializer', 'VirtualAppSerializer', 'AmazonSMSerializer',
|
||||||
]
|
]
|
||||||
|
|
||||||
from settings.const import ChatAITypeChoices, GPTModelChoices, DeepSeekModelChoices
|
from settings.const import (
|
||||||
|
ChatAITypeChoices, GPTModelChoices, DeepSeekModelChoices, ChatAIMethodChoices
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class AnnouncementSerializer(serializers.Serializer):
|
class AnnouncementSerializer(serializers.Serializer):
|
||||||
|
@ -124,6 +126,14 @@ class ChatAISettingSerializer(serializers.Serializer):
|
||||||
CHAT_AI_ENABLED = serializers.BooleanField(
|
CHAT_AI_ENABLED = serializers.BooleanField(
|
||||||
required=False, label=_('Chat AI')
|
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(
|
CHAT_AI_TYPE = serializers.ChoiceField(
|
||||||
default=ChatAITypeChoices.gpt, choices=ChatAITypeChoices.choices,
|
default=ChatAITypeChoices.gpt, choices=ChatAITypeChoices.choices,
|
||||||
label=_("Types"), required=False,
|
label=_("Types"), required=False,
|
||||||
|
|
|
@ -71,6 +71,8 @@ class PrivateSettingSerializer(PublicSettingSerializer):
|
||||||
VAULT_ENABLED = serializers.BooleanField()
|
VAULT_ENABLED = serializers.BooleanField()
|
||||||
VIRTUAL_APP_ENABLED = serializers.BooleanField()
|
VIRTUAL_APP_ENABLED = serializers.BooleanField()
|
||||||
CHAT_AI_ENABLED = serializers.BooleanField()
|
CHAT_AI_ENABLED = serializers.BooleanField()
|
||||||
|
CHAT_AI_METHOD = serializers.CharField()
|
||||||
|
CHAT_AI_EMBED_URL = serializers.CharField()
|
||||||
CHAT_AI_TYPE = serializers.CharField()
|
CHAT_AI_TYPE = serializers.CharField()
|
||||||
GPT_MODEL = serializers.CharField()
|
GPT_MODEL = serializers.CharField()
|
||||||
FILE_UPLOAD_SIZE_LIMIT_MB = serializers.IntegerField()
|
FILE_UPLOAD_SIZE_LIMIT_MB = serializers.IntegerField()
|
||||||
|
|
Loading…
Reference in New Issue