Spaces:
Sleeping
Sleeping
from typing import Optional, List | |
from pydantic import BaseModel, Field | |
class LlmPredictParams(BaseModel): | |
""" | |
Параметры для предсказания LLM. | |
""" | |
system_prompt: Optional[str] = Field(None, description="OpenAI only. Системный промпт.") | |
user_prompt: Optional[str] = Field(None, description="OpenAI only. Шаблон промпта для передачи от роли user.") | |
n_predict: Optional[int] = None | |
temperature: Optional[float] = None | |
top_k: Optional[int] = None | |
top_p: Optional[float] = None | |
min_p: Optional[float] = None | |
seed: Optional[int] = None | |
repeat_penalty: Optional[float] = None | |
repeat_last_n: Optional[int] = None | |
retry_if_text_not_present: Optional[str] = None | |
retry_count: Optional[int] = None | |
presence_penalty: Optional[float] = None | |
frequency_penalty: Optional[float] = None | |
n_keep: Optional[int] = None | |
cache_prompt: Optional[bool] = None | |
stop: Optional[List[str]] = None | |
class LlmParams(BaseModel): | |
""" | |
Основные параметры для LLM. | |
""" | |
name: str | |
url: str | |
type: str | |
context: int | |
default: Optional[bool] = None | |
template: Optional[str] = None | |
predict_params: Optional[LlmPredictParams] = None | |
# Пример использования | |
query = { | |
"name": "example-model", | |
"url": "http://example.com", | |
"type": "openai", | |
"context": 1024, | |
"default": True, | |
"template": "Some template", | |
"predict_params": { | |
"system_prompt": "Welcome!", | |
"temperature": 0.7, | |
"retry_count": 3, | |
"stop": ["END"] | |
} | |
} | |
# Валидация данных | |
llm_params = LlmParams(**query) | |
print(llm_params.json(indent=2)) | |