Merge pull request #218 from qdrant/create-case-studies

Create case studies
This commit is contained in:
David Sertic
2023-07-17 09:46:53 +02:00
committed by GitHub
26 changed files with 109 additions and 80 deletions
+7 -1
View File
@@ -124,6 +124,13 @@ keywords = "search engine, vector database, neural network, matching, filter, Sa
weight = 1
url = "/documentation/"
[[menu.main]]
identifier = "case-studies"
name = "Case Studies"
weight = 2
parent = "resources"
url = "/case-studies/"
[[menu.main]]
identifier = "articles"
name = "Articles"
@@ -159,7 +166,6 @@ keywords = "search engine, vector database, neural network, matching, filter, Sa
external = true
[[menu.main]]
identifier = "community"
name = "Community"
@@ -0,0 +1,3 @@
---
title: Case Studies
---
@@ -1,12 +1,10 @@
---
title: "Qdrant case study: bloop semantic code search"
short_description: bloop is a fast code-search engine that combines semantic search, regex search and precise code navigation
description: bloop is a fast code-search engine that combines semantic search, regex search and precise code navigation
social_preview_image: /articles_data/bloop/social_preview.png
preview_dir: /articles_data/bloop/preview
weight: 11
author: Kacper Łukawski
author_link: https://medium.com/@lukawskikacper
title: "Powering Bloop semantic code search"
short_description: Bloop is a fast code-search engine that combines semantic search, regex search and precise code navigation
description: Bloop is a fast code-search engine that combines semantic search, regex search and precise code navigation
social_preview_image: /case-studies/bloop/social_preview.jpg
preview_dir: /case-studies/bloop/preview
weight: 2
date: 2023-02-28T09:48:00.000Z
---
@@ -20,7 +18,7 @@ field and want to find out if Qdrant is a good solution for their use case.
## About bloop
![](/articles_data/bloop/screenshot.png)
![](/case-studies/bloop/screenshot.png)
[bloop](https://bloop.ai/) is a fast code-search engine that combines semantic search, regex search
and precise code navigation into a single lightweight desktop application that can be run locally. It
@@ -29,7 +27,7 @@ reuse code and avoid dependency bloat. bloop’s chat interface explains complex
language so that engineers can spend less time crawling through code to understand what it does, and
more time shipping features and fixing bugs.
![](/articles_data/bloop/bloop-logo.png)
![](/case-studies/bloop/bloop-logo.png)
bloop’s mission is to make software engineers autonomous and semantic code search is the cornerstone
of that vision. The project is maintained by a group of Rust and Typescript engineers and ML researchers.
@@ -38,7 +36,7 @@ It leverages many prominent nascent technologies, such as [Tauri](http://tauri.a
## About Qdrant
![](/articles_data/bloop/qdrant-logo.png)
![](/case-studies/bloop/qdrant-logo.png)
Qdrant is an open-source Vector Search Database written in Rust . It deploys as an API service providing
a search for the nearest high-dimensional vectors. With Qdrant, embeddings or neural network encoders
@@ -59,7 +57,7 @@ simply measuring the textual overlap between queries and documents. We compare m
embedding denotes a position in a *latent* space, so to search you embed the query and find its nearest document
vectors in that space.
![](/articles_data/bloop/vector-space.png)
![](/case-studies/bloop/vector-space.png)
Why is semantic search so useful for code? As engineers, we often don’t know - or forget - the precise terms
needed to find what we’re looking for. Semantic search enables us to find things without knowing the exact
@@ -0,0 +1,43 @@
---
title: "Pienso & Qdrant: Future Proofing Generative AI for Enterprise-Level Customers"
short_description: Why Pienso chose Qdrant as a cornerstone for building domain-specific foundation models.
description: Why Pienso chose Qdrant as a cornerstone for building domain-specific foundation models.
social_preview_image: /case-studies/pienso/social_preview.png
preview_dir: /case-studies/pienso/preview
weight: 1
---
The partnership between Pienso and Qdrant is set to revolutionize interactive deep learning, making it practical, efficient, and scalable for global customers. Pienso's low-code platform provides a streamlined and user-friendly process for deep learning tasks. This exceptional level of convenience is augmented by Qdrant’s scalable and cost-efficient high vector computation capabilities, which enable reliable retrieval of similar vectors from high-dimensional spaces.
Together, Pienso and Qdrant will empower enterprises to harness the full potential of generative AI on a large scale. By combining the technologies of both companies, organizations will be able to train their own large language models and leverage them for downstream tasks that demand data sovereignty and model autonomy. This collaboration will help customers unlock new possibilities and achieve advanced AI-driven solutions.
Strengthening LLM Performance
Qdrant enhances the accuracy of large language models (LLMs) by offering an alternative to relying solely on patterns identified during the training phase. By integrating with Qdrant, Pienso will empower customer LLMs with dynamic long-term storage, which will ultimately enable them to generate concrete and factual responses. Qdrant effectively preserves the extensive context windows managed by advanced LLMs, allowing for a broader analysis of the conversation or document at hand. By leveraging this extended context, LLMs can achieve a more comprehensive understanding and produce contextually relevant outputs.
## Joint Dedication to Scalability, Efficiency and Reliability
> “Every commercial generative AI use case we encounter benefits from faster training and inference, whether mining customer interactions for next best actions or sifting clinical data to speed a therapeutic through trial and patent processes.” - Birago Jones, CEO, Pienso
Pienso chose Qdrant for its exceptional LLM interoperability, recognizing the potential it offers in maximizing the power of large language models and interactive deep learning for large enterprises. Qdrant excels in efficient nearest neighbor search, which is an expensive and computationally demanding task. Our ability to store and search high-dimensional vectors with remarkable performance and precision will offer a significant peace of mind to Pienso’s customers. Through intelligent indexing and partitioning techniques, Qdrant will significantly boost the speed of these searches, accelerating both training and inference processes for users.
### Scalability: Preparing for Sustained Growth in Data Volumes
Qdrant's distributed deployment mode plays a vital role in empowering large enterprises dealing with massive data volumes. It ensures that increasing data volumes do not hinder performance but rather enrich the model's capabilities, making scalability a seamless process. Moreover, Qdrant is well-suited for Pienso’s enterprise customers as it operates best on bare metal infrastructure, enabling them to maintain complete control over their data sovereignty and autonomous LLM regimes. This ensures that enterprises can maintain their full span of control while leveraging the scalability and performance benefits of Qdrant's solution.
### Efficiency: Maximizing the Customer Value Proposition
Qdrant's storage efficiency delivers cost savings on hardware while ensuring a responsive system even with extensive data sets. In an independent benchmark stress test, Pienso discovered that Qdrant could efficiently store 128 million documents, consuming a mere 20.4GB of storage and only 1.25GB of memory. This storage efficiency not only minimizes hardware expenses for Pienso’s customers, but also ensures optimal performance, making Qdrant an ideal solution for managing large-scale data with ease and efficiency.
### Reliability: Fast Performance in a Secure Environment
Qdrant's utilization of Rust, coupled with its memmap storage and write-ahead logging, offers users a powerful combination of high-performance operations, robust data protection, and enhanced data safety measures. Our memmap storage feature offers Pienso fast performance comparable to in-memory storage. In the context of machine learning, where rapid data access and retrieval are crucial for training and inference tasks, this capability proves invaluable. Furthermore, our write-ahead logging (WAL), is critical to ensuring changes are logged before being applied to the database. This approach adds additional layers of data safety, further safeguarding the integrity of the stored information.
> “We chose Qdrant because it's fast to query, has a small memory footprint and allows for instantaneous setup of a new vector collection that is going to be queried. Other solutions we evaluated had long bootstrap times and also long collection initialization times {..} This partnership comes at a great time, because it allows Pienso to use Qdrant to its maximum potential, giving our customers a seamless experience while they explore and get meaningful insights about their data.” - Felipe Balduino Cassar, Senior Software Engineer, Pienso
## What's Next?
Pienso and Qdrant are dedicated to jointly develop the most reliable customer offering for the long term. Our partnership will deliver a combination of no-code/low-code interactive deep learning with efficient vector computation engineered for open source models and libraries.
### To learn more about how we plan on achieving this, join the founders for a [technical fireside chat at 09:30 PST Tue, 20th July on Discord](https://discord.gg/527ss8xr?event=1128331722270969909).
![founders chat](/case-studies/pienso/founderschat.png)

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

Before

Width:  |  Height:  |  Size: 519 KiB

After

Width:  |  Height:  |  Size: 519 KiB

Before

Width:  |  Height:  |  Size: 409 KiB

After

Width:  |  Height:  |  Size: 409 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

@@ -1,2 +1,40 @@
{{ define "main" }}
<section>
<div class="auto-container">
<div class="row clearfix mb-5">
{{ range $i, $e := first 2 .Pages }}
{{ $link := .Permalink }}
{{ if .Params.external_link }}
{{ $link = .Params.external_link }}
{{ end }}
{{ end }}
</div>
<div class="row clearfix pt-4">
{{ range .Pages }}
{{ $link := .Permalink }}
{{ if .Params.external_link }}
{{ $link = .Params.external_link }}
{{ end }}
{{ if .Params.short_description }}
<!-- News block Two -->
<div class="d-flex col-md-6 col-sm-12">
{{ partial "article-card" (dict "context" . "classes" "article-card_border article-card_contrast article-card_content-style article-card_small-btn") }}
</div>
{{ end }}
{{ end }}
</div>
</div>
</section>
{{ end }}
@@ -11,9 +11,17 @@
<img src="{{ .Params.preview_dir }}/title.jpg">
</picture>
</div>
{{ partial "breadcrumbs" . }}
<h1>{{ .Title }}</h1>
{{ .Content }}
</article>
<div class="pt-3">{{ partial "author" . }}</div>
<div class="article__info mt-4">
<span class="d-inline-block mb-2 mb-md-0">
{{if .Date }}{{ .Date | time.Format ":date_long" }}&nbsp;&nbsp;|&nbsp;&nbsp;{{end}}
</span>
{{ partial "share-post" . }}
</div>
</section>
</div>
</div>
@@ -1,10 +0,0 @@
{{- partial "header.html" . -}}
{{- partial "second_header.html" . -}}
<div id="content">
{{ block "main" . }}{{ end }}
</div>
{{ partial "contact-section" . }}
{{- partial "footer.html" . -}}
@@ -1,33 +0,0 @@
{{ define "main" }}
{{ range $i,$p := where .Data.Pages "Section" "datasets" }}
<div class="auto-container pt-3 pt-md-5 single-page">
<div class="row clearfix">
<!-- Content Side -->
<section class="content-side col-lg-12 col-md-12 col-sm-12">
{{ .Scratch.Set "scope" "single" }}
{{ $link := .Permalink }}
{{ if .Params.external_link }}
{{ $link = .Params.external_link }}
{{ end }}
{{ if .Description }}
<article class="article article_benchmarks article_narrow">
<h1>{{ .Title }}</h1>
<p>{{ .Description }}</p>
</article>
{{ end }}
<article class="article article_benchmarks article_narrow">
{{ .Content }}
</article>
</section>
</div>
</div>
{{ end }}
{{ end }}
@@ -1,24 +0,0 @@
{{ define "main" }}
<div class="auto-container pt-3 pt-md-2 mb-5 single-page">
<div class="row clearfix">
<!-- Content Side -->
<section class="col-lg-12 col-md-12 col-sm-12">
{{ .Scratch.Set "scope" "single" }}
<article class="article article_benchmarks article_narrow article_bb mb-4">
<h1>{{ .Title }}</h1>
{{ .Content }}
</article>
<div class="pt-3">{{ partial "author" . }}</div>
<div class="article__info mt-4">
<span class="d-inline-block mb-2 mb-md-0">
{{if .Date }}{{ .Date | time.Format ":date_long" }}&nbsp;&nbsp;|&nbsp;&nbsp;{{end}}
</span>
{{ partial "share-post" . }}
</div>
</section>
</div>
</div>
{{ end }}