Concepts

Content

Content is text you push into a knowledge base. Once ingested, Kognita takes care of everything needed to make it searchable. You just query.

What Kognita manages for you

After you create a content item, Kognita handles the entire processing pipeline asynchronously in the background:

Splitting

Your text is broken into optimally-sized windows. The split strategy is tuned per knowledge base type so you don't have to think about token budgets.

Embedding

Each window is converted into a vector using the embedding model configured on the knowledge base. Kognita calls the model, pays for the tokens, and stores the result.

Indexing

Vectors are written to a dedicated vector database. A full-text index is built at the same time, enabling both keyword and semantic retrieval from a single API.

Re-embedding on update

When you update a content item via PUT, Kognita automatically regenerates all embeddings. There is no manual re-index step.

Cleanup on delete

Deleting a content item removes its vectors, full-text index entries, and stored text. Nothing is left behind.

Ingestion methods

You can push content as raw text or as a file upload:

MethodEndpointUse when
TextPOST /contentsYou already have the text (FAQs, articles, product descriptions, structured data).
File uploadPOST /contents/fileYou have a document (PDF, etc.). Kognita extracts the text before processing.

Metadata

Every content item can carry arbitrary key/value metadata. Metadata is stored with the content, returned in search results, and can be used to filter searches so only relevant content is considered.

Ingest with metadata
curl -X POST https://api.kognita.ai/api/v1/knowledge-bases/{kbId}/contents \
  -H "x-kognita-api-key: YOUR_API_KEY" \
  -H "x-kognita-organization-id: YOUR_ORG_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Kognita provides hybrid search over your data.",
    "metadata": { "source": "docs", "version": "2", "language": "en" }
  }'
Filter by metadata at search time
curl -X POST https://api.kognita.ai/api/v1/knowledge-bases/{kbId}/search/hybrid \
  -H "x-kognita-api-key: YOUR_API_KEY" \
  -H "x-kognita-organization-id: YOUR_ORG_ID" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "how does search work?",
    "limit": 10,
    "metadataFilter": { "source": "docs", "language": "en" }
  }'

Tips

  • Keep items focused. One article, FAQ entry, or product description per content item gives search more signal to work with. Giant blobs reduce precision; tiny fragments lack context.
  • Use metadata to segment your content. If your KB holds content for multiple products, languages, or categories, tag each item at ingest time. You can then filter searches to a specific subset without creating separate knowledge bases.
  • Updates re-embed automatically. Sending a PUT replaces the text and triggers a full re-index. There is no separate re-embed step.