Docs

Odyssey is a RAG memory layer for AI systems. It gives you control over what your model sees, the ability to inspect it, and the tools to debug why a response happened.

What Odyssey is

Odyssey is a project-scoped memory system that sits between your data and your model. It handles ingestion, retrieval, structure, and debugging, all in one place.

Instead of treating retrieval as a black box, Odyssey makes it visible, editable, and testable.

Why Odyssey exists

Most AI systems rely on retrieval that cannot be inspected, controlled, or debugged. When something goes wrong, you cannot see what the model was given or why it was selected.

Odyssey solves this by exposing the full retrieval layer:

  • see exactly what memory was retrieved
  • inspect source documents and chunks
  • modify structure to influence future results
  • debug behavior without calling a model
Before vs After Odyssey
Without Odyssey
  • retrieval is a black box
  • you don’t know what the model actually saw
  • debugging means guessing and re-running prompts
  • no clear way to improve retrieval behavior
  • memory quality degrades over time
With Odyssey
  • see exactly what memory was retrieved
  • inspect documents, chunks, and structure
  • debug retrieval without calling a model
  • improve results by editing memory and structure
  • retrieval becomes observable and controllable
The Odyssey lifecycle

Odyssey follows a continuous loop:

  1. Ingest memory
  2. Structure memory (entities, relations, tags)
  3. Retrieve context
  4. Inspect what was returned
  5. Refine memory to improve future retrieval

Every surface in Odyssey maps to one part of this loop.

Quickstart

1. Create a project

All memory, retrieval, and debugging are project-scoped.

2. Create an API key

Use Dev Console → API Keys to generate a key for ingest and retrieval.

3. Ingest memory

Add text or documents to make retrieval possible.

4. Test retrieval

Use Dev Console to run queries without calling a model.

5. Inspect + refine

Adjust structure and memory to improve future results.

Model-free retrieval

Odyssey allows you to test retrieval without calling a model.

This means you can:

  • see exactly what context would be sent to a model
  • debug retrieval without burning tokens
  • export retrieved documents for inspection

This is the fastest way to understand and fix retrieval behavior.

Dev Console vs Interface

Dev Console

  • test retrieval without a model
  • inspect memory and system behavior
  • manage API keys and model keys

Interface (Chat)

  • connect your own model
  • run real queries
  • inspect what was retrieved
  • rate results and export documents
Memory structure

Memory in Odyssey is organized as:

  • Documents → raw inputs
  • Chunks → indexed units used for retrieval
  • Entities → key concepts
  • Relations → connections between entities
  • Tags → additional control signals

Entities and relations are both automatically generated and manually editable.

Graph-aware retrieval

Odyssey uses a graph layer to improve retrieval.

It considers:

  • entities
  • relations
  • neighbor connections
  • tags and recency

Users can enable or disable graph usage and influence it by editing structure.

What you can control
  • tags
  • entities
  • relations
  • memory content
  • graph usage (on/off)

Instead of tuning ranking parameters directly, you influence retrieval by shaping the memory and structure itself.

POST /api/v1/ingest

Add text into project-scoped memory and receive a successful ingest response when Odyssey indexes it.

Example request

{
  "text": "Odyssey supports project-scoped retrieval and graph-aware ranking for AI systems.",
  "source": "api_v1",
  "source_ref": "doc_hello_world",
  "tags": ["retrieval", "graph", "docs"],
  "doc_title": "Odyssey Retrieval Notes"
}

200 success response

{
  "status": "ok",
  "mode": "text",
  "chunk_id": "chk_7f3a91c2"
}
POST /api/v1/retrieve

Query project memory and return ranked context in Odyssey’s retrieval format.

Example request

{
  "query": "how does Odyssey use graph-aware retrieval?",
  "top_k": 2,
  "filters": null
}

200 success response

{
  "items": [
    {
      "id": "mem_8f3a",
      "text": "Odyssey enables project-scoped retrieval with optional graph-aware ranking.",
      "summary": "Project-scoped retrieval with graph support.",
      "snippet": "project-scoped retrieval with graph support",
      "tags": ["retrieval", "graph"],
      "source": "file",
      "doc_title": "retrieval-overview.pdf",
      "page_no": 2
    },
    {
      "id": "mem_c29b",
      "text": "Use the retrieve endpoint to query indexed memory and return ranked context.",
      "summary": "Query indexed memory through the retrieve API.",
      "snippet": "query indexed memory through the retrieve API",
      "tags": ["api", "memory"],
      "source": "text",
      "doc_title": "api-notes"
    }
  ],
  "count": 2,
  "meta": {
    "project_id": "YOUR_PROJECT_ID",
    "graph_used": true
  }
}
Authentication

Use API keys to access ingest and retrieval endpoints.

x-api-key: YOUR_ODYSSEY_API_KEY

Model keys are used only in the Interface to connect your own model.

Limits
  • 10 retrievals per hour
  • 1000 retrievals per month
Use cases
  • AI assistants with persistent memory
  • internal knowledge systems
  • agent memory infrastructure
  • retrieval debugging and evaluation