We're excited to announce the release of Cequence.io’s new Pinecone Scala client—an open-source library designed to bring powerful vector and index operations to your Scala applications. Whether you're working with machine learning / NLP models, or AI-driven applications, this client bridges the gap between Scala and Pinecone’s API with minimal dependencies and a user-friendly async interface.
This library is battle-tested in production in Cequence’s AI-driven Contract Lifecycle Management solution. We’ve been using it to handle complex data indexing and vector searches, ensuring smooth, efficient, and high-performance workflows in real-world business applications.
Why Pinecone Matters
For those unfamiliar, Pinecone is one of the leading vector databases, optimized for high-performance search and inference tasks across massive datasets. It's built to handle the ever-growing demands of machine learning and AI applications, particularly in areas like search personalization, recommendation systems, and even language models. By enabling easy interaction with Pinecone’s API, this Scala client unlocks incredible potential for developers looking to leverage vector search technology.
What Does Our Pinecone Scala Client Do?
We’ve built this client to simplify your development workflow. It covers all available Pinecone API operations, split into two main services: PineconeVectorService and PineconeIndexService. These services allow you to:
01 Vector Operations
describeIndexStats: Gain insights into the index's performance.
query: Perform searches across your vector data.
delete, fetch, update, and upsert: Manage vectors with ease—whether updating existing data or adding new entries.
02 Collection Operations
listCollections: See what collections are available.
createCollection, describeCollection, deleteCollection: Full control over your data collections.
03 Index Operations
listIndexes, createIndex, describeIndex, deleteIndex, configureIndex: Set up, customize, and manage your indexes, all from within Scala.
04 Inference & Assistant Operations
We’ve also included Pinecone’s inference capabilities, such as embedding data and reranking results for advanced AI tasks. Additionally, the Assistant API allows you to interact with assistants, upload and manage files, and even chat with them for AI-driven guidance.
Built with Developers in Mind
From the start, we wanted to make this library as intuitive and lightweight as possible. By using minimal dependencies, such as play-ahc-ws-standalone and play-ws-standalone-json, you get a streamlined experience with fewer moving parts. This is a key benefit for developers who want to integrate Pinecone into their Scala projects without the overhead of bloated dependencies.
Moreover, all operations in this client are async, allowing you to maintain smooth, non-blocking workflows, ideal for handling large-scale vector operations in parallel. Performance matters, and we built this client to ensure it’s ready to meet your toughest challenges.
Community-Powered and Open Source
This library is community-maintained, meaning it’s open to contributions and feedback from developers like you. While it’s not officially affiliated with Pinecone, our goal is to provide an approachable and highly capable tool that anyone working in the Scala ecosystem can use to integrate Pinecone’s capabilities.
Get Started
Whether you're building AI-powered apps, personalized search engines, or complex ML models, our Pinecone Scala client has everything you need to get up and running quickly. Head over to the GitHub repo to dive into the code, explore examples and start building with Pinecone today.
And if you’re curious to see it in action, check out the hands-on examples for Pinecone and OpenAI + Pinecone integrations. Or, visit our Medium post for a deeper dive into the technical details.
This release marks an exciting step forward for both Cequence.io and the broader Scala community, and we can’t wait to see what you build with it. Let’s take vector search to the next level—together!
Feel free to leave feedback, contribute to the repo, or connect with us on social media to share how you're using the Pinecone Scala client in your projects.