#9759)
This PR fixes the class names used to check for `Pinecone` vectorstore
instances in the langchain integration. Previously the incorrect base
class for all vectorstores was being used, which would mean all
vectorstores would return true for this check.
Langchain has a tricky versioning system with tons of deprecations and
removals (even between minor versions):
- `langchain<0.1`: Uses the base `langchain` module to access
`langchain.vectorstores.Pinecone` (note this indirectly imports from
`langchain_community`.
- `langchain>=0.1`: Uses the `langchain_community` module to access
`langchain_community.vectorstores.Pinecone`
- `langchain>=0.1` but if users have `langchain-pinecone` installed:
Uses `langchain_pinecone` module to access
`langchain_pinecone.vectorstores.Pinecone` (deprecated, subclass of
`PineconeVectorStore`) or
`langchain_pinecone.vectorstores.PineconeVectorStore`.
We use the above information to use as the logic to check if an instance
is a pinecone vectorstore.
- [x] The PR description includes an overview of the change
- [x] The PR description articulates the motivation for the change
- [x] The change includes tests OR the PR description describes a
testing strategy
- [x] The PR description notes risks associated with the change, if any
- [x] Newly-added code is easy to change
- [x] The change follows the [library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
- [x] The change includes or references documentation updates if
necessary
- [x] Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))
- [x] Title is accurate
- [x] All changes are related to the pull request's stated goal
- [x] Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes
- [x] Testing strategy adequately addresses listed risks
- [x] Newly-added code is easy to change
- [x] Release note makes sense to a user of the library
- [x] If necessary, author has acknowledged and discussed the
performance implications of this PR as reported in the benchmarks PR
comment
- [x] Backport labels are set in a manner that is consistent with the
[release branch maintenance
policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)