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 import forms
|
||||||
from common.exception.app_exception import AppApiException
|
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
|
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):
|
class OpenAIEmbeddingCredential(BaseForm, BaseModelCredential):
|
||||||
def is_valid(self, model_type: str, model_name, model_credential: Dict[str, object], model_params, provider,
|
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]):
|
def encryption_dict(self, model: Dict[str, object]):
|
||||||
return {**model, 'api_key': super().encryption(model.get('api_key', ''))}
|
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_base = forms.TextInputField('API URL', required=True)
|
||||||
api_key = forms.PasswordInputField('API Key', required=True)
|
api_key = forms.PasswordInputField('API Key', required=True)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue