From 5b7a2d15d4129a726c718cf25c4bd3b86f778a56 Mon Sep 17 00:00:00 2001 From: Bossiara13 <236771060+DmitryBykov-ISPO@users.noreply.github.com> Date: Wed, 22 Apr 2026 19:42:34 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20README=20=E2=80=94=20document=20LLM=20m?= =?UTF-8?q?odule=20and=20env=20vars?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a Russian-language section describing the new jarvis-core::llm module, the Groq-related environment variables (GROQ_TOKEN, GROQ_BASE_URL, GROQ_MODEL), the one-shot 'jarvis-cli ask' usage and a short Rust example. Notes that the module is intentionally not yet wired into the voice/intent loop — that lands in v0.3. --- README.md | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a151dce..f6d6e08 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ - nnnoiseless — подавление шума. - fluent / unic-langid — i18n (`ru`, `ua`, `en`). -**LLM-интеграции в коде пока нет.** В апстримном README у Priler значится `ChatGPT (coming soon)`, но в исходниках этого нет. В данном форке тоже не добавлялось. +**LLM-клиент (Groq / OpenAI-совместимый) добавлен в `jarvis-core::llm`.** Пока не подключён к wake-word/intent-циклу — только как библиотечный модуль и отдельная CLI-команда для проверки. Подключение в голосовой поток запланировано на v0.3. ## Это форк @@ -94,6 +94,39 @@ cargo build --workspace Для CLI (`jarvis-cli --help`, команды `classify`, `execute`, `list`, `phrases`) нужно сначала починить линковку Vosk (см. выше). +## LLM (Groq) + +В `jarvis-core` есть модуль `llm` — блокирующий клиент для OpenAI-совместимого эндпоинта chat completions. По умолчанию настроен на Groq. Используется через фиче-флаг `llm` (включён в дефолтный набор `jarvis_app`, также подтянут в `jarvis-cli`). + +Переменные окружения: + +| Переменная | Обязательна | Значение по умолчанию | +|-----------------|-------------|----------------------------------------| +| `GROQ_TOKEN` | да | — | +| `GROQ_BASE_URL` | нет | `https://api.groq.com/openai/v1` | +| `GROQ_MODEL` | нет | `llama-3.3-70b-versatile` | + +Быстрая проверка через CLI: + +```bash +set GROQ_TOKEN=gsk_... +jarvis-cli ask "скажи привет одной фразой" +``` + +Ответ печатается в stdout. Без `GROQ_TOKEN` команда завершится с кодом 2 и сообщением об ошибке. При ошибке API — код 1 и тело ответа. + +Программное использование из Rust: + +```rust +use jarvis_core::llm::{LlmClient, ChatMessage}; + +let client = LlmClient::from_env()?; +let reply = client.complete(&[ChatMessage::user("привет")], 256)?; +println!("{}", reply); +``` + +На текущем этапе (v0.2.x) модуль **не подключён** к wake-word-циклу, intent-классификации и Lua-скриптам — это только фундамент. Интеграция в голосовой поток — задача v0.3. + ## Лицензия Creative Commons **Attribution-NonCommercial-ShareAlike 4.0 International** (CC BY-NC-SA 4.0).