fix
This commit is contained in:
@@ -16,6 +16,14 @@ OLLAMA_URL = "http://localhost:11434"
|
|||||||
MODEL = "qwen3:14b"
|
MODEL = "qwen3:14b"
|
||||||
DIR = Path(__file__).resolve().parent
|
DIR = Path(__file__).resolve().parent
|
||||||
|
|
||||||
|
# Параметры для стабильного структурированного вывода (JSON framework)
|
||||||
|
OLLAMA_OPTIONS = {
|
||||||
|
"temperature": 0.3, # ниже = детерминированнее, меньше «творчества» и смены языка
|
||||||
|
"num_ctx": 8500, # контекст под длинную главу
|
||||||
|
"num_predict": 4096, # лимит токенов ответа под полный frame
|
||||||
|
"repeat_penalty": 1.1,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def load_input() -> dict:
|
def load_input() -> dict:
|
||||||
with open(DIR / "вход_главы.json", encoding="utf-8") as f:
|
with open(DIR / "вход_главы.json", encoding="utf-8") as f:
|
||||||
@@ -49,6 +57,7 @@ def call_ollama(prompt: str) -> str:
|
|||||||
"messages": [{"role": "user", "content": prompt}],
|
"messages": [{"role": "user", "content": prompt}],
|
||||||
"stream": False,
|
"stream": False,
|
||||||
"format": "json",
|
"format": "json",
|
||||||
|
"options": OLLAMA_OPTIONS,
|
||||||
},
|
},
|
||||||
ensure_ascii=False,
|
ensure_ascii=False,
|
||||||
).encode("utf-8")
|
).encode("utf-8")
|
||||||
|
|||||||
@@ -44,6 +44,19 @@
|
|||||||
|
|
||||||
В коде пайплайна имя модели задаётся конфигом (например, `OLLAMA_LLM_MODEL=qwen3:14b`).
|
В коде пайплайна имя модели задаётся конфигом (например, `OLLAMA_LLM_MODEL=qwen3:14b`).
|
||||||
|
|
||||||
|
## Параметры генерации (options) для LLM
|
||||||
|
|
||||||
|
Для стабильного структурированного вывода (JSON framework) в `run_framework_ollama.py` передаётся блок `options`:
|
||||||
|
|
||||||
|
| Параметр | Значение | Назначение |
|
||||||
|
|----------------|----------|------------|
|
||||||
|
| `temperature` | 0.3 | Ниже = детерминированнее ответ, меньше смены языка и «творчества». Для извлечения frame лучше 0.2–0.5. |
|
||||||
|
| `num_ctx` | 8192 | Размер контекста (токены). Должен вмещать главу + промпт. |
|
||||||
|
| `num_predict` | 4096 | Макс. токенов ответа, чтобы полный JSON не обрезался. |
|
||||||
|
| `repeat_penalty` | 1.1 | Снижает повторения в тексте. |
|
||||||
|
|
||||||
|
Изменить можно в коде (`OLLAMA_OPTIONS`) или через переменные окружения, если скрипт будет их читать.
|
||||||
|
|
||||||
## Локальный Ollama (без Docker)
|
## Локальный Ollama (без Docker)
|
||||||
|
|
||||||
Если Ollama установлен локально:
|
Если Ollama установлен локально:
|
||||||
|
|||||||
Reference in New Issue
Block a user