pinecone: Add embedding Inference Support (#24515)

**Description**

Add support for Pinecone hosted embedding models as
`PineconeEmbeddings`. Replacement for #22890

**Dependencies**
Add `aiohttp` to support async embeddings call against REST directly

- [x] **Add tests and docs**: If you're adding a new integration, please
include

Added `docs/docs/integrations/text_embedding/pinecone.ipynb`


- [x] **Lint and test**: Run `make format`, `make lint` and `make test`
from the root of the package(s) you've modified. See contribution
guidelines for more: https://python.langchain.com/docs/contributing/

Twitter: `gdjdg17`

---------

Co-authored-by: Erick Friis <erick@langchain.dev>
This commit is contained in:
Gareth
2024-07-23 18:50:28 -04:00
committed by GitHub
parent aaf788b7cb
commit ac41c97d21
9 changed files with 947 additions and 71 deletions

View File

@@ -0,0 +1,16 @@
from langchain_core.utils import convert_to_secret_str
from langchain_pinecone import PineconeEmbeddings
API_KEY = convert_to_secret_str("NOT_A_VALID_KEY")
MODEL_NAME = "multilingual-e5-large"
def test_default_config() -> None:
e = PineconeEmbeddings(pinecone_api_key=API_KEY, model=MODEL_NAME)
assert e.batch_size == 96
def test_custom_config() -> None:
e = PineconeEmbeddings(pinecone_api_key=API_KEY, model=MODEL_NAME, batch_size=128)
assert e.batch_size == 128