| 12345678910111213141516171819202122232425262728293031323334353637 |
- # coding=utf-8
- """
- @project: MaxKB
- @Author:虎虎
- @file: web.py
- @date:2025/11/7 14:03
- @desc:
- """
- from typing import Dict
- import requests
- from django.utils.translation import gettext_lazy as _
- from common import forms
- from common.forms import BaseForm
- from maxkb.const import CONFIG
- from models_provider.base_model_provider import BaseModelCredential
- class LocalEmbeddingCredential(BaseForm, BaseModelCredential):
- def is_valid(self, model_type: str, model_name, model_credential: Dict[str, object], model_params, provider,
- raise_exception=False):
- bind = f'{CONFIG.get("LOCAL_MODEL_HOST")}:{CONFIG.get("LOCAL_MODEL_PORT")}'
- prefix = CONFIG.get_admin_path()
- res = requests.post(
- f'{CONFIG.get("LOCAL_MODEL_PROTOCOL")}://{bind}{prefix}/api/model/validate',
- json={'model_name': model_name, 'model_type': model_type, 'model_credential': model_credential})
- result = res.json()
- if result.get('code', 500) == 200:
- return result.get('data')
- raise Exception(result.get('message'))
- def encryption_dict(self, model: Dict[str, object]):
- return model
- cache_folder = forms.TextInputField(_('Model catalog'), required=True)
|