mirror of
https://github.com/qdrant/landing_page.git
synced 2026-10-09 21:08:31 +02:00
Publish docs for version 1.17 (#2137)
* Cluster Telemetry docs (#2068) * mention cluster telemetry * small reword * Docs for read_fan_out_delay_ms * Add warning against setting threshold too low * Small docs change for inference API keys * Trigger Build * Add guide with tips for low latency search (#2136) * Update frontmatter weights * Add 'Tips for Low-Latency Search' guide * Review feedback * Temporarily bump Rust client to v1-17-upgrade branch * Docs for audit logging (#2141) * Docs for audit logging * Consistent title casing * Review feedback * Docs for optimization monitoring (#2121) * Docs for optimization monitoring * Review feedback * Optimization monitoring is cluster-wide now * Upgrade code snippet checker to 1.17 * Fix broken Python snippets * Relevance Feedback docs (#2060) * add relevance feedback in Explore page * Review * Trigger Build * Trigger Build * Create new 'Search Relevance' concept page * Tweaks * Update links to moved content * add rust snippet * TS anippets * Clarification about using point IDs * Add links * Restructure paragraphs * docs: Go snippet Signed-off-by: Anush008 <mail@anush.sh> * docs: Missed Java snippets with C# Signed-off-by: Anush008 <mail@anush.sh> * new: add python snippets * Make Java and Rust snippets testable * Remove unnecessary styling --------- Signed-off-by: Anush008 <mail@anush.sh> Co-authored-by: Evgeniya Sukhodolskaya <suxodolskaya97@gmail.com> Co-authored-by: Abdon Pijpelink <abdon.pijpelink@qdrant.com> Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com> Co-authored-by: Anush008 <mail@anush.sh> Co-authored-by: George Panchuk <george.panchuk@qdrant.tech> * Docs for enable_hnsw (#2080) * Move 'Filterable HNSW Index' section under 'Vector Index' * Add docs for enable_hnsw * docs: Go snippets Signed-off-by: Anush008 <mail@anush.sh> * docs: Java snippets Signed-off-by: Anush008 <mail@anush.sh> * docs: C# snippets Signed-off-by: Anush008 <mail@anush.sh> * Add Rust snippet * TS snippets * new: add python snippets --------- Signed-off-by: Anush008 <mail@anush.sh> Co-authored-by: Anush008 <mail@anush.sh> Co-authored-by: timvisee <tim@visee.me> Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com> Co-authored-by: George Panchuk <george.panchuk@qdrant.tech> * Docs for list shard keys API (#2082) * Docs for list shard keys * docs: Go snippets Signed-off-by: Anush008 <mail@anush.sh> * docs: Java snippets Signed-off-by: Anush008 <mail@anush.sh> * docs: C# snippets Signed-off-by: Anush008 <mail@anush.sh> * Add Rust snippet * docs: TS snippets * new: add python snippets --------- Signed-off-by: Anush008 <mail@anush.sh> Co-authored-by: Anush008 <mail@anush.sh> Co-authored-by: timvisee <tim@visee.me> Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com> Co-authored-by: George Panchuk <george.panchuk@qdrant.tech> * Docs for update_mode (#2097) * Docs for update_mode * docs: C#, Go, Java snippets Signed-off-by: Anush008 <mail@anush.sh> * doc: Remove _ from C# snippet Signed-off-by: Anush008 <mail@anush.sh> * Add Rust snippet * Fix some snippets * Review feedback * ts snippets * new: add python snippets * fix: add generated python.md --------- Signed-off-by: Anush008 <mail@anush.sh> Co-authored-by: Anush008 <mail@anush.sh> Co-authored-by: timvisee <tim@visee.me> Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com> Co-authored-by: George Panchuk <george.panchuk@qdrant.tech> * Docs for weighted RRF (#2132) * Docs for weighted RRF * docs: Go, Java, C# snippets Signed-off-by: Anush008 <mail@anush.sh> * Add Rust snippet * Apply suggestions from code review Co-authored-by: Luis Cossío <luis.cossio@qdrant.com> * Delete landing_page.sln * Review feedback * ts snippets * new: add python snippets * Trigger Build --------- Signed-off-by: Anush008 <mail@anush.sh> Co-authored-by: Anush008 <mail@anush.sh> Co-authored-by: timvisee <tim@visee.me> Co-authored-by: Luis Cossío <luis.cossio@qdrant.com> Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com> Co-authored-by: George Panchuk <george.panchuk@qdrant.tech> * Clean up Go and Java snippets * Revert go snippet change; target Go client 1.17.1 * Updated Go snippet * Trigger Build * Update Rust lockfile --------- Signed-off-by: Anush008 <mail@anush.sh> Co-authored-by: Luis Cossío <luis.cossio@qdrant.com> Co-authored-by: Daniel Boros <56868953+dancixx@users.noreply.github.com> Co-authored-by: timvisee <tim@visee.me> Co-authored-by: Evgeniya Sukhodolskaya <suxodolskaya97@gmail.com> Co-authored-by: Ivan Pleshkov <pleshkov.ivan@gmail.com> Co-authored-by: Anush008 <mail@anush.sh> Co-authored-by: George Panchuk <george.panchuk@qdrant.tech>
This commit is contained in:
co-authored by
Evgeniya Sukhodolskaya
Ivan Pleshkov
Anush008
George Panchuk
timvisee
Luis Cossío
Daniel Boros
parent
92ff228b79
commit
378837432e
+33
@@ -0,0 +1,33 @@
|
||||
using Qdrant.Client;
|
||||
using Qdrant.Client.Grpc;
|
||||
|
||||
public class Snippet
|
||||
{
|
||||
public static async Task Run()
|
||||
{
|
||||
var client = new QdrantClient("localhost", 6334); // @hide
|
||||
|
||||
await client.QueryAsync(
|
||||
collectionName: "{collection_name}",
|
||||
query: new RelevanceFeedbackInput
|
||||
{
|
||||
Target = new float[] { 0.2f, 0.1f, 0.9f, 0.7f },
|
||||
Feedback =
|
||||
{
|
||||
new FeedbackItem { Example = 111, Score = 0.68f },
|
||||
new FeedbackItem { Example = 222, Score = 0.72f },
|
||||
new FeedbackItem { Example = 33, Score = 0.61f },
|
||||
},
|
||||
Strategy =
|
||||
{
|
||||
Naive = new()
|
||||
{
|
||||
A = 0.12f,
|
||||
B = 0.43f,
|
||||
C = 0.16f,
|
||||
},
|
||||
},
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
```csharp
|
||||
using Qdrant.Client;
|
||||
using Qdrant.Client.Grpc;
|
||||
|
||||
await client.QueryAsync(
|
||||
collectionName: "{collection_name}",
|
||||
query: new RelevanceFeedbackInput
|
||||
{
|
||||
Target = new float[] { 0.2f, 0.1f, 0.9f, 0.7f },
|
||||
Feedback =
|
||||
{
|
||||
new FeedbackItem { Example = 111, Score = 0.68f },
|
||||
new FeedbackItem { Example = 222, Score = 0.72f },
|
||||
new FeedbackItem { Example = 33, Score = 0.61f },
|
||||
},
|
||||
Strategy =
|
||||
{
|
||||
Naive = new()
|
||||
{
|
||||
A = 0.12f,
|
||||
B = 0.43f,
|
||||
C = 0.16f,
|
||||
},
|
||||
},
|
||||
}
|
||||
);
|
||||
```
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
```go
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/qdrant/go-client/qdrant"
|
||||
)
|
||||
|
||||
client.Query(context.Background(), &qdrant.QueryPoints{
|
||||
CollectionName: "{collection_name}",
|
||||
Query: qdrant.NewQueryRelevanceFeedback(
|
||||
&qdrant.RelevanceFeedbackInput{
|
||||
Target: qdrant.NewVectorInput(0.01, 0.45, 0.67),
|
||||
Feedback: []*qdrant.FeedbackItem{
|
||||
{
|
||||
Example: qdrant.NewVectorInputID(qdrant.NewIDNum(111)),
|
||||
Score: 0.68,
|
||||
},
|
||||
{
|
||||
Example: qdrant.NewVectorInputID(qdrant.NewIDNum(222)),
|
||||
Score: 0.72,
|
||||
},
|
||||
{
|
||||
Example: qdrant.NewVectorInputID(qdrant.NewIDNum(333)),
|
||||
Score: 0.61,
|
||||
},
|
||||
},
|
||||
Strategy: qdrant.NewFeedbackStrategyNaive(&qdrant.NaiveFeedbackStrategy{
|
||||
A: 0.12, B: 0.43, C: 0.16,
|
||||
}),
|
||||
},
|
||||
),
|
||||
})
|
||||
```
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
```java
|
||||
import static io.qdrant.client.QueryFactory.relevanceFeedback;
|
||||
import static io.qdrant.client.VectorInputFactory.vectorInput;
|
||||
|
||||
import io.qdrant.client.grpc.Points.FeedbackItem;
|
||||
import io.qdrant.client.grpc.Points.FeedbackStrategy;
|
||||
import io.qdrant.client.grpc.Points.NaiveFeedbackStrategy;
|
||||
import io.qdrant.client.grpc.Points.QueryPoints;
|
||||
import io.qdrant.client.grpc.Points.RelevanceFeedbackInput;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
client
|
||||
.queryAsync(
|
||||
QueryPoints.newBuilder()
|
||||
.setCollectionName("{collection_name}")
|
||||
.setQuery(
|
||||
relevanceFeedback(
|
||||
RelevanceFeedbackInput.newBuilder()
|
||||
.setTarget(vectorInput(0.01f, 0.45f, 0.67f))
|
||||
.addFeedback(
|
||||
FeedbackItem.newBuilder()
|
||||
.setExample(vectorInput(111))
|
||||
.setScore(0.68f)
|
||||
.build())
|
||||
.addFeedback(
|
||||
FeedbackItem.newBuilder()
|
||||
.setExample(vectorInput(222))
|
||||
.setScore(0.72f)
|
||||
.build())
|
||||
.addFeedback(
|
||||
FeedbackItem.newBuilder()
|
||||
.setExample(vectorInput(333))
|
||||
.setScore(0.61f)
|
||||
.build())
|
||||
.setStrategy(
|
||||
FeedbackStrategy.newBuilder()
|
||||
.setNaive(
|
||||
NaiveFeedbackStrategy.newBuilder()
|
||||
.setA(0.12f)
|
||||
.setB(0.43f)
|
||||
.setC(0.16f)
|
||||
.build())
|
||||
.build())
|
||||
.build()))
|
||||
.build())
|
||||
.get();
|
||||
```
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
```python
|
||||
from qdrant_client import QdrantClient, models
|
||||
|
||||
client = QdrantClient()
|
||||
|
||||
client.query_points(
|
||||
"{collection_name}",
|
||||
query=models.RelevanceFeedbackQuery(
|
||||
relevance_feedback=models.RelevanceFeedbackInput(
|
||||
target=[0.1, 0.9, 0.23],
|
||||
feedback=[
|
||||
models.FeedbackItem(example=111, score=0.68),
|
||||
models.FeedbackItem(example=222, score=0.72),
|
||||
models.FeedbackItem(example=333, score=0.61),
|
||||
],
|
||||
strategy=models.NaiveFeedbackStrategy(
|
||||
naive=models.NaiveFeedbackStrategyParams(
|
||||
a=0.12,
|
||||
b=0.43,
|
||||
c=0.03
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
```
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
```rust
|
||||
use qdrant_client::qdrant::{
|
||||
FeedbackItemBuilder, FeedbackStrategyBuilder, PointId, Query, QueryPointsBuilder,
|
||||
RelevanceFeedbackInputBuilder, VectorInput,
|
||||
};
|
||||
use qdrant_client::Qdrant;
|
||||
|
||||
let _points = client.query(
|
||||
QueryPointsBuilder::new("{collection_name}")
|
||||
.query(Query::new_relevance_feedback(
|
||||
RelevanceFeedbackInputBuilder::new(vec![0.01, 0.45, 0.67])
|
||||
.add_feedback(FeedbackItemBuilder::new(VectorInput::new_id(PointId::from(111)), 0.68))
|
||||
.add_feedback(FeedbackItemBuilder::new(VectorInput::new_id(PointId::from(222)), 0.72))
|
||||
.add_feedback(FeedbackItemBuilder::new(VectorInput::new_id(PointId::from(333)), 0.61))
|
||||
.strategy(FeedbackStrategyBuilder::naive(0.12, 0.43, 0.16))
|
||||
))
|
||||
.limit(10u64)
|
||||
).await?;
|
||||
```
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
```typescript
|
||||
import { QdrantClient } from "@qdrant/js-client-rest";
|
||||
|
||||
const client = new QdrantClient({ host: "localhost", port: 6333 });
|
||||
|
||||
client.query("{collection_name}", {
|
||||
query: {
|
||||
relevance_feedback: {
|
||||
target: [0.1, 0.9, 0.23],
|
||||
feedback: [
|
||||
{ example: 111, score: 0.68 },
|
||||
{ example: 222, score: 0.72 },
|
||||
{ example: 333, score: 0.61 },
|
||||
],
|
||||
strategy: {
|
||||
naive: {
|
||||
a: 0.12,
|
||||
b: 0.43,
|
||||
c: 0.03,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
```
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
package snippet
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/qdrant/go-client/qdrant"
|
||||
)
|
||||
|
||||
func Main() {
|
||||
// @hide-start
|
||||
client, err := qdrant.NewClient(&qdrant.Config{
|
||||
Host: "localhost",
|
||||
Port: 6334,
|
||||
})
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
// @hide-end
|
||||
|
||||
client.Query(context.Background(), &qdrant.QueryPoints{
|
||||
CollectionName: "{collection_name}",
|
||||
Query: qdrant.NewQueryRelevanceFeedback(
|
||||
&qdrant.RelevanceFeedbackInput{
|
||||
Target: qdrant.NewVectorInput(0.01, 0.45, 0.67),
|
||||
Feedback: []*qdrant.FeedbackItem{
|
||||
{
|
||||
Example: qdrant.NewVectorInputID(qdrant.NewIDNum(111)),
|
||||
Score: 0.68,
|
||||
},
|
||||
{
|
||||
Example: qdrant.NewVectorInputID(qdrant.NewIDNum(222)),
|
||||
Score: 0.72,
|
||||
},
|
||||
{
|
||||
Example: qdrant.NewVectorInputID(qdrant.NewIDNum(333)),
|
||||
Score: 0.61,
|
||||
},
|
||||
},
|
||||
Strategy: qdrant.NewFeedbackStrategyNaive(&qdrant.NaiveFeedbackStrategy{
|
||||
A: 0.12, B: 0.43, C: 0.16,
|
||||
}),
|
||||
},
|
||||
),
|
||||
})
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
```http
|
||||
POST /collections/{collection_name}/points/query
|
||||
{
|
||||
"query": {
|
||||
"relevance_feedback: {
|
||||
"target": [0.1, 0.9, 0.23, ...],
|
||||
"feedback": [
|
||||
{ "example": 111, "score": 0.68 },
|
||||
{ "example": 222, "score": 0.72 },
|
||||
{ "example": 333, "score": 0.61 }
|
||||
],
|
||||
"strategy": {
|
||||
"naive": {
|
||||
"a": 0.12,
|
||||
"b": 0.43,
|
||||
"c": 0.03
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
+57
@@ -0,0 +1,57 @@
|
||||
package com.example.snippets_amalgamation;
|
||||
|
||||
import static io.qdrant.client.QueryFactory.relevanceFeedback;
|
||||
import static io.qdrant.client.VectorInputFactory.vectorInput;
|
||||
|
||||
import io.qdrant.client.grpc.Points.FeedbackItem;
|
||||
import io.qdrant.client.grpc.Points.FeedbackStrategy;
|
||||
import io.qdrant.client.grpc.Points.NaiveFeedbackStrategy;
|
||||
import io.qdrant.client.grpc.Points.QueryPoints;
|
||||
import io.qdrant.client.grpc.Points.RelevanceFeedbackInput;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class Snippet {
|
||||
public static void run() throws Exception {
|
||||
// @hide-start
|
||||
io.qdrant.client.QdrantClient client =
|
||||
new io.qdrant.client.QdrantClient(io.qdrant.client.QdrantGrpcClient.newBuilder("localhost", 6334, false).build());
|
||||
// @hide-end
|
||||
|
||||
client
|
||||
.queryAsync(
|
||||
QueryPoints.newBuilder()
|
||||
.setCollectionName("{collection_name}")
|
||||
.setQuery(
|
||||
relevanceFeedback(
|
||||
RelevanceFeedbackInput.newBuilder()
|
||||
.setTarget(vectorInput(0.01f, 0.45f, 0.67f))
|
||||
.addFeedback(
|
||||
FeedbackItem.newBuilder()
|
||||
.setExample(vectorInput(111))
|
||||
.setScore(0.68f)
|
||||
.build())
|
||||
.addFeedback(
|
||||
FeedbackItem.newBuilder()
|
||||
.setExample(vectorInput(222))
|
||||
.setScore(0.72f)
|
||||
.build())
|
||||
.addFeedback(
|
||||
FeedbackItem.newBuilder()
|
||||
.setExample(vectorInput(333))
|
||||
.setScore(0.61f)
|
||||
.build())
|
||||
.setStrategy(
|
||||
FeedbackStrategy.newBuilder()
|
||||
.setNaive(
|
||||
NaiveFeedbackStrategy.newBuilder()
|
||||
.setA(0.12f)
|
||||
.setB(0.43f)
|
||||
.setC(0.16f)
|
||||
.build())
|
||||
.build())
|
||||
.build()))
|
||||
.build())
|
||||
.get();
|
||||
}
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
from qdrant_client import QdrantClient, models
|
||||
|
||||
client = QdrantClient()
|
||||
|
||||
client.query_points(
|
||||
"{collection_name}",
|
||||
query=models.RelevanceFeedbackQuery(
|
||||
relevance_feedback=models.RelevanceFeedbackInput(
|
||||
target=[0.1, 0.9, 0.23],
|
||||
feedback=[
|
||||
models.FeedbackItem(example=111, score=0.68),
|
||||
models.FeedbackItem(example=222, score=0.72),
|
||||
models.FeedbackItem(example=333, score=0.61),
|
||||
],
|
||||
strategy=models.NaiveFeedbackStrategy(
|
||||
naive=models.NaiveFeedbackStrategyParams(
|
||||
a=0.12,
|
||||
b=0.43,
|
||||
c=0.03
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
use qdrant_client::qdrant::{
|
||||
FeedbackItemBuilder, FeedbackStrategyBuilder, PointId, Query, QueryPointsBuilder,
|
||||
RelevanceFeedbackInputBuilder, VectorInput,
|
||||
};
|
||||
use qdrant_client::Qdrant;
|
||||
|
||||
pub async fn main() -> anyhow::Result<()> {
|
||||
let client = qdrant_client::Qdrant::from_url("http://localhost:6334").build()?; // @hide
|
||||
|
||||
let _points = client.query(
|
||||
QueryPointsBuilder::new("{collection_name}")
|
||||
.query(Query::new_relevance_feedback(
|
||||
RelevanceFeedbackInputBuilder::new(vec![0.01, 0.45, 0.67])
|
||||
.add_feedback(FeedbackItemBuilder::new(VectorInput::new_id(PointId::from(111)), 0.68))
|
||||
.add_feedback(FeedbackItemBuilder::new(VectorInput::new_id(PointId::from(222)), 0.72))
|
||||
.add_feedback(FeedbackItemBuilder::new(VectorInput::new_id(PointId::from(333)), 0.61))
|
||||
.strategy(FeedbackStrategyBuilder::naive(0.12, 0.43, 0.16))
|
||||
))
|
||||
.limit(10u64)
|
||||
).await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
import { QdrantClient } from "@qdrant/js-client-rest";
|
||||
|
||||
const client = new QdrantClient({ host: "localhost", port: 6333 });
|
||||
|
||||
client.query("{collection_name}", {
|
||||
query: {
|
||||
relevance_feedback: {
|
||||
target: [0.1, 0.9, 0.23],
|
||||
feedback: [
|
||||
{ example: 111, score: 0.68 },
|
||||
{ example: 222, score: 0.72 },
|
||||
{ example: 333, score: 0.61 },
|
||||
],
|
||||
strategy: {
|
||||
naive: {
|
||||
a: 0.12,
|
||||
b: 0.43,
|
||||
c: 0.03,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user