mirror of
https://github.com/remsky/Kokoro-FastAPI.git
synced 2025-08-31 21:59:28 +00:00
271 lines
9.3 KiB
Text
271 lines
9.3 KiB
Text
Metadata-Version: 2.3
|
|
Name: pinecone
|
|
Version: 7.0.2
|
|
Summary: Pinecone client and SDK
|
|
License: Apache-2.0
|
|
Keywords: Pinecone,vector,database,cloud
|
|
Author: Pinecone Systems, Inc.
|
|
Author-email: support@pinecone.io
|
|
Requires-Python: >=3.9,<4.0
|
|
Classifier: Development Status :: 5 - Production/Stable
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: Intended Audience :: Information Technology
|
|
Classifier: Intended Audience :: Science/Research
|
|
Classifier: Intended Audience :: System Administrators
|
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
Classifier: Operating System :: OS Independent
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Programming Language :: Python :: 3.9
|
|
Classifier: Programming Language :: Python :: 3.10
|
|
Classifier: Programming Language :: Python :: 3.11
|
|
Classifier: Programming Language :: Python :: 3.12
|
|
Classifier: Programming Language :: Python :: 3.13
|
|
Classifier: Topic :: Database
|
|
Classifier: Topic :: Software Development
|
|
Classifier: Topic :: Software Development :: Libraries
|
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
Provides-Extra: asyncio
|
|
Provides-Extra: grpc
|
|
Requires-Dist: aiohttp (>=3.9.0) ; extra == "asyncio"
|
|
Requires-Dist: aiohttp-retry (>=2.9.1,<3.0.0) ; extra == "asyncio"
|
|
Requires-Dist: certifi (>=2019.11.17)
|
|
Requires-Dist: googleapis-common-protos (>=1.66.0) ; extra == "grpc"
|
|
Requires-Dist: grpcio (>=1.44.0) ; (python_version >= "3.8" and python_version < "3.11") and (extra == "grpc")
|
|
Requires-Dist: grpcio (>=1.59.0) ; (python_version >= "3.11" and python_version < "4.0") and (extra == "grpc")
|
|
Requires-Dist: grpcio (>=1.68.0) ; (python_version >= "3.13" and python_version < "4.0") and (extra == "grpc")
|
|
Requires-Dist: lz4 (>=3.1.3) ; extra == "grpc"
|
|
Requires-Dist: pinecone-plugin-assistant (>=1.6.0,<2.0.0)
|
|
Requires-Dist: pinecone-plugin-interface (>=0.0.7,<0.0.8)
|
|
Requires-Dist: protobuf (>=5.29,<6.0) ; extra == "grpc"
|
|
Requires-Dist: protoc-gen-openapiv2 (>=0.0.1,<0.0.2) ; extra == "grpc"
|
|
Requires-Dist: python-dateutil (>=2.5.3)
|
|
Requires-Dist: typing-extensions (>=3.7.4)
|
|
Requires-Dist: urllib3 (>=1.26.0) ; python_version >= "3.8" and python_version < "3.12"
|
|
Requires-Dist: urllib3 (>=1.26.5) ; python_version >= "3.12" and python_version < "4.0"
|
|
Project-URL: Documentation, https://pinecone.io/docs
|
|
Project-URL: Homepage, https://www.pinecone.io
|
|
Description-Content-Type: text/markdown
|
|
|
|
# Pinecone Python SDK
|
|
 [](https://github.com/pinecone-io/pinecone-python-client/actions/workflows/pr.yaml)
|
|
|
|
The official Pinecone Python SDK.
|
|
|
|
## Documentation
|
|
|
|
- [**Conceptual docs and guides**](https://docs.pinecone.io)
|
|
- [**Python Reference Documentation**](https://sdk.pinecone.io/python/index.html)
|
|
|
|
### Upgrading the SDK
|
|
|
|
> [!NOTE]
|
|
> The official SDK package was renamed from `pinecone-client` to `pinecone` beginning in version `5.1.0`.
|
|
> Please remove `pinecone-client` from your project dependencies and add `pinecone` instead to get
|
|
> the latest updates.
|
|
|
|
For notes on changes between major versions, see [Upgrading](./docs/upgrading.md)
|
|
|
|
## Prerequisites
|
|
|
|
- The Pinecone Python SDK is compatible with Python 3.9 and greater. It has been tested with CPython versions from 3.9 to 3.13.
|
|
- Before you can use the Pinecone SDK, you must sign up for an account and find your API key in the Pinecone console dashboard at [https://app.pinecone.io](https://app.pinecone.io).
|
|
|
|
## Installation
|
|
|
|
The Pinecone Python SDK is distributed on PyPI using the package name `pinecone`. By default the `pinecone` has a minimal set of dependencies, but you can install some extras to unlock additional functionality.
|
|
|
|
Available extras:
|
|
|
|
- `pinecone[asyncio]` will add a dependency on `aiohttp` and enable usage of `PineconeAsyncio`, the asyncio-enabled version of the client for use with highly asynchronous modern web frameworks such as FastAPI.
|
|
- `pinecone[grpc]` will add dependencies on `grpcio` and related libraries needed to make pinecone data calls such as `upsert` and `query` over [GRPC](https://grpc.io/) for a modest performance improvement. See the guide on [tuning performance](https://docs.pinecone.io/docs/performance-tuning).
|
|
|
|
#### Installing with pip
|
|
|
|
```shell
|
|
# Install the latest version
|
|
pip3 install pinecone
|
|
|
|
# Install the latest version, with optional dependencies
|
|
pip3 install "pinecone[asyncio,grpc]"
|
|
```
|
|
|
|
#### Installing with uv
|
|
|
|
[uv](https://docs.astral.sh/uv/) is a modern package manager that runs 10-100x faster than pip and supports most pip syntax.
|
|
|
|
```shell
|
|
# Install the latest version
|
|
uv add pinecone
|
|
|
|
# Install the latest version, optional dependencies
|
|
uv add "pinecone[asyncio,grpc]"
|
|
```
|
|
|
|
#### Installing with [poetry](https://python-poetry.org/)
|
|
|
|
```shell
|
|
# Install the latest version
|
|
poetry add pinecone
|
|
|
|
# Install the latest version, with optional dependencies
|
|
poetry add pinecone --extras asyncio --extras grpc
|
|
```
|
|
|
|
# Quickstart
|
|
|
|
## Bringing your own vectors to Pinecone
|
|
|
|
```python
|
|
from pinecone import (
|
|
Pinecone,
|
|
ServerlessSpec,
|
|
CloudProvider,
|
|
AwsRegion,
|
|
VectorType
|
|
)
|
|
|
|
# 1. Instantiate the Pinecone client
|
|
pc = Pinecone(api_key='YOUR_API_KEY')
|
|
|
|
# 2. Create an index
|
|
index_config = pc.create_index(
|
|
name="index-name",
|
|
dimension=1536,
|
|
spec=ServerlessSpec(
|
|
cloud=CloudProvider.AWS,
|
|
region=AwsRegion.US_EAST_1
|
|
),
|
|
vector_type=VectorType.DENSE
|
|
)
|
|
|
|
# 3. Instantiate an Index client
|
|
idx = pc.Index(host=index_config.host)
|
|
|
|
# 4. Upsert embeddings
|
|
idx.upsert(
|
|
vectors=[
|
|
("id1", [0.1, 0.2, 0.3, 0.4, ...], {"metadata_key": "value1"}),
|
|
("id2", [0.2, 0.3, 0.4, 0.5, ...], {"metadata_key": "value2"}),
|
|
],
|
|
namespace="example-namespace"
|
|
)
|
|
|
|
# 5. Query your index using an embedding
|
|
query_embedding = [...] # list should have length == index dimension
|
|
idx.query(
|
|
vector=query_embedding,
|
|
top_k=10,
|
|
include_metadata=True,
|
|
filter={"metadata_key": { "$eq": "value1" }}
|
|
)
|
|
```
|
|
|
|
## Bring your own data using Pinecone integrated inference
|
|
|
|
```python
|
|
from pinecone import (
|
|
Pinecone,
|
|
CloudProvider,
|
|
AwsRegion,
|
|
EmbedModel,
|
|
)
|
|
|
|
# 1. Instantiate the Pinecone client
|
|
pc = Pinecone(api_key="<<PINECONE_API_KEY>>")
|
|
|
|
# 2. Create an index configured for use with a particular model
|
|
index_config = pc.create_index_for_model(
|
|
name="my-model-index",
|
|
cloud=CloudProvider.AWS,
|
|
region=AwsRegion.US_EAST_1,
|
|
embed=IndexEmbed(
|
|
model=EmbedModel.Multilingual_E5_Large,
|
|
field_map={"text": "my_text_field"}
|
|
)
|
|
)
|
|
|
|
# 3. Instantiate an Index client
|
|
idx = pc.Index(host=index_config.host)
|
|
|
|
# 4. Upsert records
|
|
idx.upsert_records(
|
|
namespace="my-namespace",
|
|
records=[
|
|
{
|
|
"_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.",
|
|
},
|
|
],
|
|
)
|
|
|
|
# 5. Search for similar records
|
|
from pinecone import SearchQuery, SearchRerank, RerankModel
|
|
|
|
response = index.search_records(
|
|
namespace="my-namespace",
|
|
query=SearchQuery(
|
|
inputs={
|
|
"text": "Apple corporation",
|
|
},
|
|
top_k=3
|
|
),
|
|
rerank=SearchRerank(
|
|
model=RerankModel.Bge_Reranker_V2_M3,
|
|
rank_fields=["my_text_field"],
|
|
top_n=3,
|
|
),
|
|
)
|
|
```
|
|
|
|
## Pinecone Assistant
|
|
### Installing the Pinecone Assistant Python plugin
|
|
|
|
The `pinecone-plugin-assistant` package is now bundled by default when installing `pinecone`. It does not need to be installed separately in order to use Pinecone Assistant.
|
|
|
|
For more information on Pinecone Assistant, see the [Pinecone Assistant documentation](https://docs.pinecone.io/guides/assistant/overview).
|
|
|
|
|
|
## More information on usage
|
|
|
|
Detailed information on specific ways of using the SDK are covered in these other pages.
|
|
|
|
- Store and query your vectors
|
|
- [Serverless Indexes](./docs/db_control/serverless-indexes.md)
|
|
- [Pod Indexes](./docs/db_control/pod-indexes.md)
|
|
- [Working with vectors](./docs/db_data/index-usage-byov.md)
|
|
|
|
- [Inference API](./docs/inference-api.md)
|
|
- [FAQ](./docs/faq.md)
|
|
|
|
|
|
# Issues & Bugs
|
|
|
|
If you notice bugs or have feedback, please [file an issue](https://github.com/pinecone-io/pinecone-python-client/issues).
|
|
|
|
You can also get help in the [Pinecone Community Forum](https://community.pinecone.io/).
|
|
|
|
# Contributing
|
|
|
|
If you'd like to make a contribution, or get setup locally to develop the Pinecone Python SDK, please see our [contributing guide](https://github.com/pinecone-io/pinecone-python-client/blob/main/CONTRIBUTING.md)
|
|
|