v0.1.5
- New
:custom_openaiprovider for OpenAI-compatible endpoints (NVIDIA, Together, vLLM, etc.) Planck.AI.Modelgains anidentifierfield — a short uppercase tag (e.g."NVIDIA") used to derive the env var<IDENTIFIER>_API_KEYat request timePlanck.AI.Models.CustomOpenAI— factory (model/2) and runtime discovery (all/1) viaGET {base_url}/modelsPlanck.AI.Config.from_map/1validates and upcasesidentifier; rejects values that don't match[A-Z][A-Z0-9]*- API keys for
:custom_openaiare resolved lazily from the environment at request time, never cached
v0.1.4
- Version bump to stay in sync with the monorepo release; no functional changes.
v0.1.3
- Version bump to stay in sync with the monorepo release; no functional changes.
v0.1.2
- Version bump to stay in sync with the monorepo release; no functional changes.
v0.1.1
ex_docbumped to~> 0.40.2; no functional changes.
v0.1.0
First release.
- Provider-agnostic streaming and completion API over
req_llm - Lazy event-tuple stream (
{:text_delta, _},{:thinking_delta, _},{:tool_call_complete, _},{:done, _},{:error, _}) - Tool calling with streaming argument assembly
- Model catalog for Anthropic, OpenAI, and Google via LLMDB
- Local server support for Ollama and llama.cpp with runtime model discovery
- JSON config loader (
Planck.AI.Config) - Multimodal input: text, image, image_url, file, video_url
parse_provider/1(private) —String.to_existing_atom→String.to_atom;@valid_providersderived fromPlanck.AI.list_providers()at compile time (single source of truth). Private function specs added.