feat(core): add Groq/OpenAI-compatible LlmClient

New jarvis-core::llm module providing a blocking client for
OpenAI-compatible chat completions endpoints (Groq by default).

- LlmClient::new / from_env (GROQ_TOKEN, GROQ_BASE_URL, GROQ_MODEL)
- complete(messages, max_tokens) -> String
- thiserror-based LlmError / ConfigError
- gated behind a new llm feature, included in default jarvis_app

Not yet wired into the wake-word/intent loop; that lands in v0.3.
This commit is contained in:
Bossiara13 2026-04-22 19:36:14 +03:00
parent d6792fc038
commit 02f5829aaa
3 changed files with 195 additions and 2 deletions

View file

@ -48,6 +48,9 @@ pub mod audio_buffer;
#[cfg(feature = "lua")]
pub mod lua;
#[cfg(feature = "llm")]
pub mod llm;
// shared statics
// pub static APP_DIR: Lazy<PathBuf> = Lazy::new(|| std::env::current_dir().unwrap());
pub static APP_DIR: Lazy<PathBuf> = Lazy::new(|| {