# Records API plugin for Pinecone python SDK
## Installation
The plugin is distributed separately from the core python SDK.
```
# Install the base python SDK, version 5.4.0 or higher
pip install pinecone
# And also the plugin functionality
pip install pinecone-plugin-records
```
## Usage
This plugin extends the functionality of the `pinecone` SDK to allow creating indexes for specific embedding models, and upserting and searching records in these indexes. These operations are added to the existing `Pinecone` and `Index` classes.
Models currently supported:
- [multilingual-e5-large](https://arxiv.org/pdf/2402.05672)
## Create an index for an embedding model, upsert records, and search
The following example highlights how to use the `Pinecone` class to create a new index for an embedding model, and then uses `Index` to upsert and query some records.
```python
from pinecone import Pinecone
pc = Pinecone(api_key="<<PINECONE_API_KEY>>")
# Create an index for your embedding model
index_model = pc.create_index_for_model(
name="my-model-index",
cloud="aws",
region="us-east-1",
embed={"model":"multilingual-e5-large", "field_map":{"text": "my_text_field"}}
)
# establish an index connection
index = pc.Index(host=index_model.host)
# upsert records
index.upsert_records(
"my-namespace",
[
{
"_id": "test1",
"my_text_field": "Apple is a popular fruit known for its sweetness and crisp texture.",
},
{
"_id": "test2",
"my_text_field": "The tech company Apple is known for its innovative products like the iPhone.",
},
{
"_id": "test3",
"my_text_field": "Many people enjoy eating apples as a healthy snack.",
},
{
"_id": "test4",
"my_text_field": "Apple Inc. has revolutionized the tech industry with its sleek designs and user-friendly interfaces.",
},
{
"_id": "test5",
"my_text_field": "An apple a day keeps the doctor away, as the saying goes.",
},
{
"_id": "test6",
"my_text_field": "Apple Computer Company was founded on April 1, 1976, by Steve Jobs, Steve Wozniak, and Ronald Wayne as a partnership.",
},
],
)
# search for similar records
response = index.search_records(
namespace="test-namespace",
query={
"inputs":{
"text": "Apple corporation"
},
"top_k":3
}
)
```
Raw data
{
"_id": null,
"home_page": "https://www.pinecone.io",
"name": "pinecone-plugin-records",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": null,
"author": "Pinecone Systems, Inc.",
"author_email": "support@pinecone.io",
"download_url": "https://files.pythonhosted.org/packages/6d/92/e66dcb31d77411fdbbf0851cdce987242bc16df2d1a2f9bee754dd09f9e7/pinecone_plugin_records-0.3.0.tar.gz",
"platform": null,
"description": "# Records API plugin for Pinecone python SDK\n\n## Installation\n\nThe plugin is distributed separately from the core python SDK.\n\n```\n# Install the base python SDK, version 5.4.0 or higher\npip install pinecone\n\n# And also the plugin functionality\npip install pinecone-plugin-records\n```\n\n## Usage\n\nThis plugin extends the functionality of the `pinecone` SDK to allow creating indexes for specific embedding models, and upserting and searching records in these indexes. These operations are added to the existing `Pinecone` and `Index` classes.\n\nModels currently supported:\n\n- [multilingual-e5-large](https://arxiv.org/pdf/2402.05672)\n\n## Create an index for an embedding model, upsert records, and search\n\nThe following example highlights how to use the `Pinecone` class to create a new index for an embedding model, and then uses `Index` to upsert and query some records.\n\n```python\nfrom pinecone import Pinecone\n\npc = Pinecone(api_key=\"<<PINECONE_API_KEY>>\")\n\n# Create an index for your embedding model\nindex_model = pc.create_index_for_model(\n name=\"my-model-index\",\n cloud=\"aws\",\n region=\"us-east-1\",\n embed={\"model\":\"multilingual-e5-large\", \"field_map\":{\"text\": \"my_text_field\"}}\n)\n\n# establish an index connection\nindex = pc.Index(host=index_model.host)\n\n# upsert records\nindex.upsert_records(\n \"my-namespace\",\n [\n {\n \"_id\": \"test1\",\n \"my_text_field\": \"Apple is a popular fruit known for its sweetness and crisp texture.\",\n },\n {\n \"_id\": \"test2\",\n \"my_text_field\": \"The tech company Apple is known for its innovative products like the iPhone.\",\n },\n {\n \"_id\": \"test3\",\n \"my_text_field\": \"Many people enjoy eating apples as a healthy snack.\",\n },\n {\n \"_id\": \"test4\",\n \"my_text_field\": \"Apple Inc. has revolutionized the tech industry with its sleek designs and user-friendly interfaces.\",\n },\n {\n \"_id\": \"test5\",\n \"my_text_field\": \"An apple a day keeps the doctor away, as the saying goes.\",\n },\n {\n \"_id\": \"test6\",\n \"my_text_field\": \"Apple Computer Company was founded on April 1, 1976, by Steve Jobs, Steve Wozniak, and Ronald Wayne as a partnership.\",\n },\n ],\n)\n\n# search for similar records\nresponse = index.search_records(\n namespace=\"test-namespace\",\n query={\n \"inputs\":{\n \"text\": \"Apple corporation\"\n },\n \"top_k\":3\n }\n)\n```\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Records plugin for Pinecone SDK",
"version": "0.3.0",
"project_urls": {
"Documentation": "https://pinecone.io/docs",
"Homepage": "https://www.pinecone.io"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "294e94672d8aa47736a26471e8a9d7ceedbaed26a1150b8004a87815ebd050d8",
"md5": "53aad29a157cd6144cc2aa2da95258ec",
"sha256": "c8490f02b02aca67b4d9d7803795e56e6312126f3e3d84f435915fce4830cc07"
},
"downloads": -1,
"filename": "pinecone_plugin_records-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "53aad29a157cd6144cc2aa2da95258ec",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 269202,
"upload_time": "2024-11-19T22:15:10",
"upload_time_iso_8601": "2024-11-19T22:15:10.745507Z",
"url": "https://files.pythonhosted.org/packages/29/4e/94672d8aa47736a26471e8a9d7ceedbaed26a1150b8004a87815ebd050d8/pinecone_plugin_records-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6d92e66dcb31d77411fdbbf0851cdce987242bc16df2d1a2f9bee754dd09f9e7",
"md5": "4771196839971339c56c2d6c0c492678",
"sha256": "9634ae4ab2e29950565bb6a008e32dddec79c4b18becaec2605d9217b8da69f8"
},
"downloads": -1,
"filename": "pinecone_plugin_records-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "4771196839971339c56c2d6c0c492678",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 108791,
"upload_time": "2024-11-19T22:15:12",
"upload_time_iso_8601": "2024-11-19T22:15:12.626430Z",
"url": "https://files.pythonhosted.org/packages/6d/92/e66dcb31d77411fdbbf0851cdce987242bc16df2d1a2f9bee754dd09f9e7/pinecone_plugin_records-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-19 22:15:12",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pinecone-plugin-records"
}