Skip to content

docs: bump semantic-search + pinecone-quickstart to pinecone 9.1.0#600

Merged
joerg84 merged 3 commits into
mainfrom
bump-docs-idscore-pinecone-9
Jul 9, 2026
Merged

docs: bump semantic-search + pinecone-quickstart to pinecone 9.1.0#600
joerg84 merged 3 commits into
mainfrom
bump-docs-idscore-pinecone-9

Conversation

@joerg84

@joerg84 joerg84 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Why

Continues moving docs/ off the pre-9.x client (urllib3, no default data-plane timeout). 9.x (httpx) applies a 30s default with retries. Both notebooks were pinecone==8.0.0.

Changes

  • Pin bump → pinecone==9.1.0; pin pinecone-notebooks==0.1.1 (was unpinned in pinecone-quickstart).
  • 9.x search-hit fix: hit['_id']/hit['_score']hit['id']/hit['score'] (and result['_score']). 9.x renames the Hit wire fields; only the bracket reads change — the 50 "_id": upsert record keys in pinecone-quickstart are left as-is (the records API still expects _id).
  • Consolidate imports into the first (pip) cell (check-structure), normalized via the repo pre-commit pipeline (ruff + nbstripout).

SearchQuery/SearchRerank/Pinecone and the integrated search/upsert_records surface verified present on 9.1.0.

Verification

All six lint gates pass locally; live test-notebooks validates the runtime on this PR — please confirm green before merge.

Context

Follows #598 (lexical-search) and #599 (quick-tour). The _id/_score break is systemic across integrated-search notebooks; gen-qa-openai and cascading-retrieval get the same fix in follow-ups (handled individually — heavier logic).

🤖 Generated with Claude Code


Note

Low Risk
Documentation-only notebook updates with no production code, auth, or data-path changes; runtime behavior depends on CI notebook tests passing on 9.1.0.

Overview
Updates docs/pinecone-quickstart.ipynb and docs/semantic-search.ipynb from pinecone==8.0.0 to pinecone==9.1.0, pins pinecone-notebooks==0.1.1, and aligns both notebooks with the 9.x integrated-search client API.

SDK usage: Search calls drop SearchQuery / SearchRerank in favor of plain query and rerank dicts. Search hit handling switches from hit['_id'] / hit['_score'] to hit['id'] / hit['score'] (upsert records still use "_id"). The quickstart moves os, time, and Pinecone into the install cell, adds a source_tag on Pinecone(...), and merges the duplicate pip cell in semantic-search.

Notebook hygiene: Cleared stored outputs and reset execution_count to null (nbstripout-style), plus minor Unicode fixes in sample strings.

Reviewed by Cursor Bugbot for commit e29f29c. Bugbot is set up for automated code reviews on this repo. Configure here.

joerg84 and others added 2 commits July 8, 2026 14:50
Also rename search-hit reads hit['_id']/['_score'] -> ['id']/['score']
(9.x Hit renames the wire fields; upsert record keys stay "_id"), pin
pinecone-notebooks==0.1.1, and consolidate imports into the pip cell.
Normalized via the repo pre-commit pipeline (ruff + nbstripout).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Passing SearchRerank() objects to search() raises "Type is not JSON
serializable: SearchRerank" on 9.x; use the dict form (as lexical-search
does), which the search path serializes correctly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@jennapederson jennapederson left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a source tag to the quickstart so we can see if it's even being used. I see one of the links checks is failing, but I think it might actually be ok.

joerg84 added a commit that referenced this pull request Jul 9, 2026
## Why
Continues the `docs/` migration off the pre-9.x client (no default
data-plane timeout). Was `pinecone~=8.0`.

## Changes
- Pin → `pinecone==9.1.0`.
- 9.x search-hit fix: `hit["_id"]`/`hit["_score"]` →
`hit["id"]`/`hit["score"]` (double-quoted reads in the dedupe/transform
helpers). The dedupe output dict already uses an `"id"` key and the
reranker path is untouched.
- Normalized via the repo pre-commit pipeline (ruff + nbstripout).

Already uses dict `query={...}` and `pc.inference.rerank(...)`, so no
Search* object issues.

## Verification
All six lint gates pass locally; live `test-notebooks` validates the
runtime on this PR.

Follows #598, #599, #600.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Documentation-only notebook changes with a small API field rename; no
production code paths.
> 
> **Overview**
> Updates **`docs/gen-qa-openai.ipynb`** for **Pinecone 9.x**: the
install pin moves from `pinecone~=8.0` to **`pinecone==9.1.0`**.
> 
> **Cascading retrieval** dedupe logic now keys search hits with
**`hit["id"]`** instead of **`hit["_id"]`**, matching the 9.x search
response shape so merge/rerank still works.
> 
> The notebook was **cleaned for publication** (outputs cleared,
`execution_count` reset, sources reformatted) via the repo pre-commit
tooling.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
437b32b. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: joerg84 <joerg@pinecone.io>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
joerg84 added a commit that referenced this pull request Jul 9, 2026
## Why
Continues the `docs/` migration off the pre-9.x client. Was
`pinecone~=8.0`.

## Changes
- Pin → `pinecone==9.1.0`.
- **9.x search-hit fix, surgical.** Only the reads off actual search
`Hit` objects are renamed to `["id"]`/`["score"]`: `print_hits`, the
dedupe key `hit["_id"]`, and the sort key `x["_score"]`. The
`merge_chunks` output dicts deliberately **keep** their
`"_id"`/`"_score"` keys, so the downstream `row["_id"]`/`row["_score"]`
reads and the `pc.inference.rerank(documents=...)` input are unchanged
(a blanket rename would have broken those).
- Normalized via ruff + nbstripout.

## Verification
All six lint gates pass locally; live `test-notebooks` validates the
runtime.

Follows #598, #599, #600, #601. This completes the cleanly-bumpable
`docs/` set; the remainder is dependency-blocked (langchain-pinecone
`<8`, pinecone-datasets `<4`) or requires v3-API rewrites
(`pinecone==0.2.13`).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Documentation-only notebook changes with no production code or
security impact; behavioral risk is limited to example correctness under
the new client.
> 
> **Overview**
> Updates **`docs/cascading-retrieval.ipynb`** for **Pinecone 9.1.0**
(from `pinecone~=8.0`), including a pinned install and early `Pinecone`
import in the setup cell.
> 
> **9.x search hit shape:** `print_hits` and `merge_chunks` now read
**`id`** and **`score`** on API hits (replacing `_id` / `_score`).
`merge_chunks` still emits **`_id`** / **`_score`** on its output dicts
so merge printing and `pc.inference.rerank(documents=...)` stay
unchanged.
> 
> Notebook outputs were cleared (`execution_count: null`, empty
`outputs`) via **ruff** and **nbstripout**.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
cefdaf7. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: joerg84 <joerg@pinecone.io>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@joerg84
joerg84 merged commit fce762d into main Jul 9, 2026
29 of 32 checks passed
@joerg84
joerg84 deleted the bump-docs-idscore-pinecone-9 branch July 9, 2026 01:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants