https://github.com/dpausp/llm-fcio
Flyingcircus AI Platform Plugin for llm (simonw)
https://github.com/dpausp/llm-fcio
Last synced: 4 days ago
JSON representation
Flyingcircus AI Platform Plugin for llm (simonw)
- Host: GitHub
- URL: https://github.com/dpausp/llm-fcio
- Owner: dpausp
- Created: 2026-05-12T11:10:02.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-06T21:22:42.000Z (12 days ago)
- Last Synced: 2026-06-06T23:13:13.915Z (12 days ago)
- Language: Python
- Size: 513 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# llm-fcio
An [llm](https://llm.datasette.io/) CLI plugin for the [FCIO AI platform](https://ai.rzob.fcio.net/openai/v1) — OpenAI-compatible endpoints on AMD hardware, supporting multiple locations.
## Install
```bash
llm install llm-fcio
llm keys set fcio-rzob
```
Or set the `FCIO_RZOB_API_KEY` environment variable instead of `llm keys set`.
## Quick start
```bash
llm fcio refresh # fetch available models
llm -m fcio-rzob/gpt-oss-20b "Explain transformers in 3 sentences"
```
## Locations
| Location | API Base | Key name | Env variable |
|---|---|---|---|
| `rzob` | `https://ai.rzob.fcio.net/openai/v1` | `fcio-rzob` | `FCIO_RZOB_API_KEY` |
| `dev` | `https://ai.dev.fcio.net/openai/v1` | `fcio-dev` | `FCIO_DEV_API_KEY` |
| `whq` | `https://ai.whq.fcio.net/openai/v1` | `fcio-whq` | `FCIO_WHQ_API_KEY` |
Select a location with `-l`/`--location` (default: `rzob`). Model IDs include the location prefix: `fcio-rzob/...`, `fcio-dev/...`, `fcio-whq/...`.
```bash
llm fcio -l dev refresh # refresh models for dev location
```
## Structured output
Models that support `response_format` (llama-server, vllm) accept JSON schema
for structured/typed responses via `llm prompt --schema`:
```bash
llm prompt --schema 'answer str' --no-stream -m fcio-dev/gpt-oss-20b "What is 2+2?"
# {"answer": "4"}
```
Check if a location's API accepts `response_format` with:
```bash
llm fcio capabilities # look for "Schema output"
```
Per-model support depends on the inference backend — not all backends
implement `response_format`. Unsupported backends return an API error.
## When not to use this
- You need image or audio generation — the API serves text and embeddings only.
- You need fine-tuning or training — no training endpoints are exposed.
- You need built-in rate limit handling — the plugin sends requests directly; rate limit errors surface as raw API errors.
- You need function calling from the CLI — the model options support it, but there is no CLI interface for tool definitions.
## Python API
All plugin functions are directly importable — no Click context, no I/O side effects.
```python
import llm_fcio as fcio
models = fcio.refresh_models()
caps = fcio.get_capabilities()
count = fcio.ingest_files("mydocs", "./docs/", glob="*.md")
result = fcio.analyze_code("review", files=["src/main.py"])
```
→ [Python API Reference](docs/user/python-api.md) for all functions and parameters.
## Full documentation
→ [CLI Reference](docs/user/cli-reference.md) for all commands, flags, and options.
→ [User Guide](docs/user/index.md) for common tasks and workflows.
## Configuration
| Setting | Value |
|---|---|
| Default location | `rzob` |
| Model cache | `~/.llm/fcio_models_{location}.json` |
| Default chat model | `gpt-oss:20b` |