Skip to content

Quickstart

Last updated 2026-06-01T00:00:00.000Z

1. Install feder8d

Start a 14-day on-prem trial — you get a ready-to-run installer with a signed trial license inside. Extract it on your own machine and run ./install.sh; the console comes up at http://localhost:3000 with one-time admin credentials. No card required, and nothing is provisioned on our servers.

2. Generate an API key

In the Tenant Console, navigate to Settings → API keys → Generate.

The key surfaces once at creation; we store it hashed (argon2id). Copy it now.

3. Send your first chat completion

The API is OpenAI-compatible, so the official OpenAI Python SDK works unchanged:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.feder8d.ai/v1",
    api_key="YOUR_FEDER8D_KEY",
)

resp = client.chat.completions.create(
    model="qwen2.5-7b-instruct",
    messages=[{"role": "user", "content": "hello"}],
)
print(resp.choices[0].message.content)

Streaming uses SSE:

stream = client.chat.completions.create(
    model="qwen2.5-7b-instruct",
    messages=[{"role": "user", "content": "tell me a joke"}],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")

4. Ingest your first document

Documents live in collections. Create one and upload a document via the Tenant API:

curl -X POST https://api.feder8d.ai/v1/collections \
  -H "Authorization: Bearer YOUR_FEDER8D_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "handbook"}'

curl -X POST https://api.feder8d.ai/v1/collections/handbook/documents \
  -H "Authorization: Bearer YOUR_FEDER8D_KEY" \
  -F "file=@./handbook.pdf"

5. Ask a question with retrieval

resp = client.chat.completions.create(
    model="qwen2.5-7b-instruct",
    messages=[{"role": "user", "content": "what's our PTO policy?"}],
    extra_body={
        "x-feder8d-collections": ["handbook"],
    },
)
print(resp.choices[0].message.content)

feder8d retrieves the most relevant chunks from the handbook collection and feeds them into context, so the answer is grounded in your own documents.

Next steps