Skip to content

Commit 9c266f4

Browse files
authored
Merge pull request #365 from junefish/merge-namespaces
update merging namespaces notebook
2 parents ee01f30 + 6783abc commit 9c266f4

File tree

1 file changed

+30
-4
lines changed

1 file changed

+30
-4
lines changed

learn/experimental/merge-namespaces/merge-namespaces.ipynb

+30-4
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,17 @@
3232
"%pip install -qU pinecone-notebooks pinecone-client[grpc]"
3333
]
3434
},
35+
{
36+
"cell_type": "code",
37+
"execution_count": null,
38+
"metadata": {},
39+
"outputs": [],
40+
"source": [
41+
"from pinecone_notebooks.colab import Authenticate\n",
42+
"\n",
43+
"Authenticate()"
44+
]
45+
},
3546
{
3647
"cell_type": "code",
3748
"execution_count": null,
@@ -64,13 +75,20 @@
6475
"dimension = index.describe_index_stats()['dimension']\n",
6576
"# Function to fetch all vectors from a namespace\n",
6677
"def fetch_all_vectors(namespace):\n",
67-
" count = index.describe_index_stats()['namespaces'][namespace]['vector_count']\n",
78+
" try:\n",
79+
" count = index.describe_index_stats()['namespaces'][namespace]['vector_count']\n",
80+
" if count > 10000:\n",
81+
" raise ValueError(\"Namespaces larger than 10000 vectors need to be handled iteratively.\")\n",
82+
" except ValueError as e:\n",
83+
" print(f\"Error: {e}\")\n",
84+
" return []\n",
6885
" random_vecs = [random.random() for _ in range(dimension)]\n",
6986
" response = index.query(\n",
7087
" namespace=namespace,\n",
7188
" vector=random_vecs,\n",
7289
" top_k=count,\n",
73-
" include_values=True\n",
90+
" include_values=True,\n",
91+
" include_metadata=True\n",
7492
" )\n",
7593
" return response['matches']\n",
7694
"\n",
@@ -87,7 +105,9 @@
87105
"source": [
88106
"# Convert fetched vectors to the required upsert format\n",
89107
"def format_vectors_for_upsert(fetched_vectors):\n",
90-
" return [{\"id\": match['id'], \"values\": match['values']} for match in fetched_vectors]\n",
108+
" return [{\"id\": match['id'], \n",
109+
" \"values\": match['values'], \n",
110+
" \"metadata\": match['metadata']} for match in fetched_vectors]\n",
91111
"\n",
92112
"formatted_vectors_ns1 = format_vectors_for_upsert(vectors_ns1)\n",
93113
"formatted_vectors_ns2 = format_vectors_for_upsert(vectors_ns2)\n",
@@ -131,8 +151,14 @@
131151
}
132152
],
133153
"metadata": {
154+
"kernelspec": {
155+
"display_name": "Python 3",
156+
"language": "python",
157+
"name": "python3"
158+
},
134159
"language_info": {
135-
"name": "python"
160+
"name": "python",
161+
"version": "3.11.6"
136162
}
137163
},
138164
"nbformat": 4,

0 commit comments

Comments
 (0)