feat: LLM router with local (Ollama) and cloud (OpenAI) backends

- lyra.config.load() reads env into a frozen Config dataclass
- lyra.llm.complete(messages, backend) routes to Ollama /api/chat or
  OpenAI chat completions
- lyra.llm.embed(texts) calls OpenAI embeddings
- .env.example switched from Anthropic to OpenAI to match available key
This commit is contained in:
Claude
2026-05-16 06:10:48 +00:00
parent b2523c2561
commit 6a1255dfdb
5 changed files with 457 additions and 4 deletions
+5 -1
View File
@@ -4,7 +4,11 @@ version = "0.1.0"
description = "Persistent, autonomous AI assistant"
readme = "README.md"
requires-python = ">=3.11"
dependencies = []
dependencies = [
"httpx>=0.28.1",
"openai>=2.37.0",
"python-dotenv>=1.2.2",
]
[dependency-groups]
dev = [