From 370a11a463abb110fd96990038fc74873af8f1fa Mon Sep 17 00:00:00 2001 From: drholy Date: Sun, 3 Aug 2025 16:19:10 +0000 Subject: [PATCH] minimal fix --- app/config.py | 2 +- app/main.py | 16 ++++++++-------- install.sh | 25 +++++++++++++++++-------- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/app/config.py b/app/config.py index 7e3810e..4be0dea 100644 --- a/app/config.py +++ b/app/config.py @@ -13,7 +13,7 @@ class Config(BaseSettings): CHUNK_OVERLAP: int = 50 LM_MODEL_NAME: str = "/models/paraphrase-multilingual-MiniLM-L12-v2" LOCAL_LLM_NAME: str = "/models/Qwen3-8B" - QWEN_MODEL_NAME: str = "qwen3-chat" + QWEN_MODEL_NAME: str = "Qwen3-8B" settings = Config() # type: ignore \ No newline at end of file diff --git a/app/main.py b/app/main.py index 21aab63..4a9ce5f 100644 --- a/app/main.py +++ b/app/main.py @@ -21,7 +21,7 @@ class ChatWithAI: ) 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}") self.tokenizer = AutoTokenizer.from_pretrained(model_name) @@ -85,17 +85,17 @@ class ChatWithAI: messages = [ { "role": "system", - "content": """Ты — внутренний менеджер помощи пользоватклям по вопросам настройки серверов. Отвечаешь по делу без лишних вступлений. + "content": """Ты — внутренний менеджер помощи пользоваткля по вопросам настройки сервера. Отвечаешь по делу без лишних вступлений. Правила: 1. Сразу переходи к сути, без фраз типа "На основе контекста" -2. Используй только факты. Если точных данных нет — отвечай общими фразами об настройки серверов и подбору железа, но не придумывай конкретику -3. Используй обычный текст без форматирования +2. Используй только факты. Если точных данных нет — отвечай общими фразами об настройки сервера, но не придумывай конкретику +3. Используй текст с форматированием. 4. Включай ссылки только если они есть в контексте 5. Говори от первого лица множественного числа: "Мы предоставляем", "У нас есть" 6. При упоминании файлов делай это естественно, например: "Я прикреплю инструкцию, где подробно описаны шаги" 7. На приветствия отвечай доброжелательно, на негатив — с легким юмором -8. Можешь при ответах использовать общую информацию из открытых источников по настройке сервером и подбору железа, но опирайся на контекст +8. Можешь при ответах использовать общую информацию из открытых источников по настройке сервера, но опирайся на контекст 9. Если пользователь спрашивает о ценах, планах или технических характеристиках — давай конкретные ответы из контекста 10. При технических вопросах предлагай практические решения @@ -127,8 +127,8 @@ class ChatWithAI: generate_kwargs = { "input_ids": inputs["input_ids"], - "max_new_tokens": 512, - "temperature": 0.5, + "max_new_tokens": 2048, + "temperature": 0.3, "do_sample": True, "top_p": 0.9, "pad_token_id": self.tokenizer.eos_token_id, @@ -169,7 +169,7 @@ def main(): "Установка 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__": diff --git a/install.sh b/install.sh index 0dbb8c6..2f5101e 100644 --- a/install.sh +++ b/install.sh @@ -28,15 +28,24 @@ apt-get install -y \ git lfs install echo \ -'{ \ - "runtimes": { \ - "nvidia": { \ - "path": "nvidia-container-runtime", \ - "runtimeArgs": [] \ - } \ - }, \ - "default-runtime": "nvidia" \ +'{ + "runtimes": { + "nvidia": { + "path": "nvidia-container-runtime", + "runtimeArgs": [] + } + }, + "default-runtime": "nvidia" }' > /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' nvidia-smi