minimal fix

This commit is contained in:
2025-08-03 16:19:10 +00:00
parent 957903d190
commit 370a11a463
3 changed files with 26 additions and 17 deletions

View File

@@ -13,7 +13,7 @@ class Config(BaseSettings):
CHUNK_OVERLAP: int = 50 CHUNK_OVERLAP: int = 50
LM_MODEL_NAME: str = "/models/paraphrase-multilingual-MiniLM-L12-v2" LM_MODEL_NAME: str = "/models/paraphrase-multilingual-MiniLM-L12-v2"
LOCAL_LLM_NAME: str = "/models/Qwen3-8B" LOCAL_LLM_NAME: str = "/models/Qwen3-8B"
QWEN_MODEL_NAME: str = "qwen3-chat" QWEN_MODEL_NAME: str = "Qwen3-8B"
settings = Config() # type: ignore settings = Config() # type: ignore

View File

@@ -21,7 +21,7 @@ class ChatWithAI:
) )
if provider == "qwen3": if provider == "qwen3":
model_name = getattr(settings, "LOCAL_LLM_NAME", "/models/Qwen3-4B") model_name = getattr(settings, "LOCAL_LLM_NAME", "/models/Qwen3-8B")
logger.info(f"Загрузка локальной модели: {model_name}") logger.info(f"Загрузка локальной модели: {model_name}")
self.tokenizer = AutoTokenizer.from_pretrained(model_name) self.tokenizer = AutoTokenizer.from_pretrained(model_name)
@@ -85,17 +85,17 @@ class ChatWithAI:
messages = [ messages = [
{ {
"role": "system", "role": "system",
"content": """Ты — внутренний менеджер помощи пользоватклям по вопросам настройки серверов. Отвечаешь по делу без лишних вступлений. "content": """Ты — внутренний менеджер помощи пользоваткля по вопросам настройки сервера. Отвечаешь по делу без лишних вступлений.
Правила: Правила:
1. Сразу переходи к сути, без фраз типа "На основе контекста" 1. Сразу переходи к сути, без фраз типа "На основе контекста"
2. Используй только факты. Если точных данных нет — отвечай общими фразами об настройки серверов и подбору железа, но не придумывай конкретику 2. Используй только факты. Если точных данных нет — отвечай общими фразами об настройки сервера, но не придумывай конкретику
3. Используй обычный текст без форматирования 3. Используй текст с форматированием.
4. Включай ссылки только если они есть в контексте 4. Включай ссылки только если они есть в контексте
5. Говори от первого лица множественного числа: "Мы предоставляем", "У нас есть" 5. Говори от первого лица множественного числа: "Мы предоставляем", "У нас есть"
6. При упоминании файлов делай это естественно, например: "Я прикреплю инструкцию, где подробно описаны шаги" 6. При упоминании файлов делай это естественно, например: "Я прикреплю инструкцию, где подробно описаны шаги"
7. На приветствия отвечай доброжелательно, на негатив — с легким юмором 7. На приветствия отвечай доброжелательно, на негатив — с легким юмором
8. Можешь при ответах использовать общую информацию из открытых источников по настройке сервером и подбору железа, но опирайся на контекст 8. Можешь при ответах использовать общую информацию из открытых источников по настройке сервера, но опирайся на контекст
9. Если пользователь спрашивает о ценах, планах или технических характеристиках — давай конкретные ответы из контекста 9. Если пользователь спрашивает о ценах, планах или технических характеристиках — давай конкретные ответы из контекста
10. При технических вопросах предлагай практические решения 10. При технических вопросах предлагай практические решения
@@ -127,8 +127,8 @@ class ChatWithAI:
generate_kwargs = { generate_kwargs = {
"input_ids": inputs["input_ids"], "input_ids": inputs["input_ids"],
"max_new_tokens": 512, "max_new_tokens": 2048,
"temperature": 0.5, "temperature": 0.3,
"do_sample": True, "do_sample": True,
"top_p": 0.9, "top_p": 0.9,
"pad_token_id": self.tokenizer.eos_token_id, "pad_token_id": self.tokenizer.eos_token_id,
@@ -169,7 +169,7 @@ def main():
"Установка Unraid и первоначальная настройка" "Установка Unraid и первоначальная настройка"
], ],
) )
demo.launch(server_name="0.0.0.0", server_port=8080, share=False) demo.queue(max_size=20, default_concurrency_limit=10).launch(server_name="0.0.0.0", server_port=8080, share=False)
if __name__ == "__main__": if __name__ == "__main__":

View File

@@ -28,15 +28,24 @@ apt-get install -y \
git lfs install git lfs install
echo \ echo \
'{ \ '{
"runtimes": { \ "runtimes": {
"nvidia": { \ "nvidia": {
"path": "nvidia-container-runtime", \ "path": "nvidia-container-runtime",
"runtimeArgs": [] \ "runtimeArgs": []
} \ }
}, \ },
"default-runtime": "nvidia" \ "default-runtime": "nvidia"
}' > /etc/docker/daemon.json }' > /etc/docker/daemon.json
mkdir models/
cd models
git clone https://huggingface.co/Qwen/Qwen3-8B
git clone https://huggingface.co/sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
ls
lspci -k | grep -EA2 'VGA|3D' lspci -k | grep -EA2 'VGA|3D'
nvidia-smi nvidia-smi