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:
parent
d6792fc038
commit
02f5829aaa
3 changed files with 195 additions and 2 deletions
|
|
@ -41,6 +41,7 @@ tokio = { version = "1", features = ["sync"], optional = true }
|
|||
|
||||
mlua = { workspace = true, optional = true }
|
||||
reqwest = { workspace = true, optional = true }
|
||||
thiserror = { workspace = true, optional = true }
|
||||
tempfile.workspace = true
|
||||
|
||||
fastembed = { workspace = true, optional = true }
|
||||
|
|
@ -56,9 +57,10 @@ winrt-notification = { workspace = true, optional = true }
|
|||
default = ["jarvis_app"]
|
||||
jarvis_app = [
|
||||
"vosk", "intent-classifier", "fastembed", "tokio", "nnnoiseless", "tokio-tungstenite", "futures-util",
|
||||
"lua",
|
||||
"lua", "llm",
|
||||
"ort", "ndarray", "tokenizers", "regex",]
|
||||
|
||||
intent = ["intent-classifier", "tokio"]
|
||||
lua = ["mlua", "reqwest", "winrt-notification"]
|
||||
lua_only = ["lua", "tokio"]
|
||||
lua_only = ["lua", "tokio"]
|
||||
llm = ["reqwest", "thiserror"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue