Skip to main content
When a template doesn’t fit your corpus, you can author a Pinecone Nexus context’s manifest yourself. You define the artifact types and edge types curation builds, send them in the manifest field when you create or update a context, then curate.

Artifact and edge types

A manifest’s curate.artifacts section holds your artifact types and edge types:
  • An artifact type has a name, a kind (its built-in shape, see artifact kinds), a scope (corpus for one artifact per subject across the corpus, or document for one per source), and a description that steers extraction. Optionally, coverage lists the points the extraction must address. A type defaults to the markdown format. See artifact formats for the sqlite table format.
  • An edge type has a name, the from and to artifact types it connects, a description, and optional attributes recorded on each edge. Edges turn the artifacts into a graph the query agent can traverse.
The kind sets what an artifact represents and how it’s extracted. The name is your label for that type. A corpus can mix kinds: a per-document summary, corpus-wide topic and entity types, and dated event types, linked by edges.

Author it through the API

These steps use the data-plane base URL and session token from Authentication. The manifest here is a general concept-and-entity design: a per-document note, corpus-wide concepts and entities, and an edge linking them.
1

Create the context with your manifest

Send the manifest in the manifest field when you create the context. To apply it to an existing context instead, use PUT /contexts/{slug} with the same body.
curl
2

Add sources

Curation needs sources. Upload files or import from a connector, then confirm at least one source is staged. See the quickstart for adding sources.
3

Curate

Curation executes the manifest against the sources, building your artifact and edge types:
curl
An empty body runs an incremental curate. After a later manifest change, pass {"force": true} to rebuild everything under the new manifest. Curation runs as a background task, so query the context once it finishes. See How curation works.
4

Query the context

Query the context to see the artifacts and edges curation built:
curl

More example manifests

Each of these is a curate.artifacts manifest for a different corpus. Send one in the manifest field the same way, and adjust the types to your own documents.
Shows the event kind, a coverage list on a type, and edge attributes.
Shows a per-document summary and a self-referential edge (a paper cites another paper).
Shows a dependency graph: a self-referential depends_on edge, plus edge attributes.

Tune the design

Beyond the basics, a few fields shape how thoroughly curation builds each type:
  • coverage (per type): The points the extraction must address wherever a source speaks to them. Use it to make a type consistent and thorough.
  • scope (per type): Set document for one artifact per source, which suits summaries and notes, or corpus to fold mentions from across every source into one artifact per subject, which suits entities and themes.
  • attributes (per edge): Extra values recorded on each edge, such as a role on a party_to edge or a value on a metric edge.
  • min_doc_count (on curate.artifacts, or overridden per type): How many sources must mention a corpus subject before it earns its own artifact. Raise it to suppress one-off mentions.
For the sqlite table format, its columns, and its upsert natural_key, see artifact formats.

Revise a manifest

To change a context’s manifest after it’s curated:
  1. Send the full updated manifest with PUT /contexts/{slug}.
  2. Run a forced curate, POST /contexts/{slug}/curate with {"force": true}, so the change reaches the index.
This is the API equivalent of updating a context’s design in the console. To read the manifest currently pinned on a context, use GET /contexts/{slug}/manifest.