mirror of
https://github.com/hwchase17/langchain.git
synced 2026-03-18 11:07:36 +00:00
# feat(superlinked): add superlinked retriever integration **Description:** Add Superlinked as a custom retriever with full LangChain compatibility. This integration enables users to leverage Superlinked's multi-modal vector search capabilities including text similarity, categorical similarity, recency, and numerical spaces with flexible weighting strategies. The implementation provides a `SuperlinkedRetriever` class that extends LangChain's `BaseRetriever` with comprehensive error handling, parameter validation, and support for various vector databases (in-memory, Qdrant, Redis, MongoDB). **Key Features:** - Full LangChain `BaseRetriever` compatibility with `k` parameter support - Multi-modal search spaces (text, categorical, numerical, recency) - Flexible weighting strategies for complex search scenarios - Vector database agnostic implementation - Comprehensive validation and error handling - Complete test coverage (unit tests, integration tests) - Detailed documentation with 6 practical usage examples **Issue:** N/A (new integration) **Dependencies:** - `superlinked==33.5.1` (peer dependency, imported within functions) - `pandas^2.2.0` (required by superlinked) **Linkedin handle:** https://www.linkedin.com/in/filipmakraduli/ ## Implementation Details ### Files Added/Modified: - `libs/partners/superlinked/` - Complete package structure - `libs/partners/superlinked/langchain_superlinked/retrievers.py` - Main retriever implementation - `libs/partners/superlinked/tests/unit_tests/test_retrievers.py` - unit tests - `libs/partners/superlinked/tests/integration_tests/test_retrievers.py` - Integration tests with mocking - `docs/docs/integrations/retrievers/superlinked.ipynb` - Documentation a few usage examples ### Testing: - `make format` - passing - `make lint` - passing - `make test` - passing (16 unit tests, integration tests) - Comprehensive test coverage including error handling, validation, and edge cases ### Documentation: - Example notebook with 6 practical scenarios: 1. Simple text search 2. Multi-space blog search (content + category + recency) 3. E-commerce product search (price + brand + ratings) 4. News article search (sentiment + topics + recency) 5. LangChain RAG integration example 6. Qdrant vector database integration ### Code Quality: - Follows LangChain contribution guidelines - Backwards compatible - Optional dependencies imported within functions - Comprehensive error handling and validation - Type hints and docstrings throughout --------- Co-authored-by: Mason Daugherty <mason@langchain.dev>
LangChain Documentation
For more information on contributing to our documentation, see the Documentation Contributing Guide