|
Some checks failed
CI / Linux x86_64 (Forgejo) (push) Failing after 2s
Signed-off-by: flemming-it <sf@flemming.it> |
||
|---|---|---|
| .forgejo/workflows | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| MODULE.de.md | ||
| MODULE.md | ||
| module.yaml | ||
| NOTICE | ||
| README.md | ||
| rust-toolchain.toml | ||
llm-chat
F∆I module providing the llm.chat capability — a generic
Ollama-compatible LLM chat adapter.
Capability
| Field | Value |
|---|---|
| Capability | llm.chat@0.1.0 |
| Inputs | prompt: text, endpoint: text, model: text, api_key: text (opt), system_prompt: text (opt) |
| Outputs | response: text, model_endpoint: text, model_name: text, model_digest: text |
| Permissions | net: localhost, net: 127.0.0.1, net: api.openai.com, net: api.anthropic.com |
| Status (in store index) | alpha |
Why a separate module from orchestrator-llm
orchestrator-llm wraps an LLM call inside a planning prompt
that emits a structured F∆I Plan. llm.chat is the lower-
level adapter: it sends a prompt and returns the assistant text
verbatim. Flows that need a generic chat step (summarisation,
translation, free-form Q&A) compose llm.chat directly; flows
that need plan generation use orchestrator-llm.
Audit fields
model_endpoint, model_name, and model_digest are emitted
on every successful invocation. Together they answer the audit
question "which exact model produced this response?" The digest
probe targets Ollama's /api/show and is best-effort — non-
Ollama endpoints and transient probe failures yield an empty
digest rather than blocking the response. Cf. Ch∆In
docs/advanced/compliance-gaps.md Gap 1.
Build
cargo build --release --target wasm32-wasip2
Test
cargo test # 11 tests, all host-side
cargo build --release --target wasm32-wasip2
SDK source
The Cargo.toml git-deps fai-module-sdk from
https://git.flemming.ws/fai/module-sdk.git. The Forgejo
instance has REQUIRE_SIGNIN_VIEW=true, so anonymous clones
fail; CI uses the MODULE_SDK_PAT actions secret + git config url.X.insteadOf Y to authenticate cargo's git fetch
transparently. Local dev uses the same pattern via env vars.
License
Apache-2.0.
Author: Dr. Stefan Flemming, Flemming.AI chain@flemming.ai Repository: https://git.flemming.ws/fai-modules/llm-chat