This page shows you how to retrieve context snippets.
To try this in your browser, use the Pinecone Assistant - Context colab notebook.

Retrieve context snippets from an assistant

You can retrieve context snippets from an assistant, as in the following example:
# To use the Python SDK, install the plugin:
# pip install --upgrade pinecone pinecone-plugin-assistant

from pinecone import Pinecone

pc = Pinecone(api_key="YOUR_API_KEY")
assistant = pc.assistant.Assistant(assistant_name="example-assistant")

response = assistant.context(query="Who is the CFO of Netflix?")

for snippet in response.snippets:
    print(snippet)
The example above returns a JSON object like the following:
JSON
{
    "snippets":
    [
        {
            "type":"text",
            "content":"EXHIBIT 31.3\nCERTIFICATION OF CHIEF FINANCIAL OFFICER\nPURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002\nI, Spencer Neumann, certify that: ..."
            "score":0.9960699,
            "reference":
            {
                "type":"pdf",
                "file":
                {
                    "status":"Available",
                    "id":"e6034e51-0bb9-4926-84c6-70597dbd07a7",
                    "name":"Netflix-10-K-01262024.pdf",
                    "size":1073470,
                    "metadata":null,
                    "updated_on":"2024-11-21T22:59:10.426001030Z",
                    "created_on":"2024-11-21T22:58:35.879120257Z", 
                    "percent_done":1.0,
                    "signed_url":"https://storage.googleapis.com...",
                    "error_message":null
                    },
                "pages":[78]
            }
        },
{
    "type":"text",
    "content":"EXHIBIT 32.1\n..."
...
signed_url provides temporary, read-only access to the relevant file. Anyone with the link can access the file, so treat it as sensitive data. Expires in one hour.

Control the snippets retrieved

This is available in API versions 2025-04 and later.
You can limit token usage by tuning top_k * snippet_size:
  • snippet_size: Controls the max size of a snippet (default is 2048 tokens). Note that snippet size can vary and, in rare cases, may be bigger than the set snippet_size. Snippet size controls the amount of context given for each chunk of text.
  • top_k: Controls the max number of context snippets retrieved (default is 16). top_k controls the diversity of information received in the returned snippets.
While additional tokens will be used for other parameters, adjusting the top_k and snippet_size can help manage token consumption.
# To use the Python SDK, install the plugin:
# pip install --upgrade pinecone pinecone-plugin-assistant

from pinecone import Pinecone

pc = Pinecone(api_key="YOUR_API_KEY")
assistant = pc.assistant.Assistant(assistant_name="example-assistant")

response = assistant.context(query="Who is the CFO of Netflix?", top_k=10, snippet_size=2500)

for snippet in response.snippets:
    print(snippet)