feat: add OpenAI embedding model parameters form
--bug=1062976 --user=刘瑞斌 【模型】openai的向量模型,设置dimensions参数后,向量化失败 https://www.tapd.cn/62980211/s/1790130v3.2
parent
58f29ee2f6
commit
18543a0703
|
|
@ -13,9 +13,27 @@ from django.utils.translation import gettext as _
|
|||
|
||||
from common import forms
|
||||
from common.exception.app_exception import AppApiException
|
||||
from common.forms import BaseForm
|
||||
from common.forms import BaseForm, TooltipLabel
|
||||
from models_provider.base_model_provider import BaseModelCredential, ValidCode
|
||||
|
||||
class OpenAIEmbeddingModelParams(BaseForm):
|
||||
dimensions = forms.SingleSelect(
|
||||
TooltipLabel(
|
||||
_('Dimensions'),
|
||||
_('')
|
||||
),
|
||||
required=True,
|
||||
default_value=1024,
|
||||
value_field='value',
|
||||
text_field='label',
|
||||
option_list=[
|
||||
{'label': '1536', 'value': '1536'},
|
||||
{'label': '1024', 'value': '1024'},
|
||||
{'label': '768', 'value': '768'},
|
||||
{'label': '512', 'value': '512'},
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
class OpenAIEmbeddingCredential(BaseForm, BaseModelCredential):
|
||||
def is_valid(self, model_type: str, model_name, model_credential: Dict[str, object], model_params, provider,
|
||||
|
|
@ -49,5 +67,8 @@ class OpenAIEmbeddingCredential(BaseForm, BaseModelCredential):
|
|||
def encryption_dict(self, model: Dict[str, object]):
|
||||
return {**model, 'api_key': super().encryption(model.get('api_key', ''))}
|
||||
|
||||
def get_model_params_setting_form(self, model_name):
|
||||
return OpenAIEmbeddingModelParams()
|
||||
|
||||
api_base = forms.TextInputField('API URL', required=True)
|
||||
api_key = forms.PasswordInputField('API Key', required=True)
|
||||
|
|
|
|||
Loading…
Reference in New Issue