Skip to main content
POST
/
knowledge-base
/
{id}
/
query
Query a knowledge base
curl --request POST \
  --url https://api.vectorshift.ai/v1/knowledge-base/{id}/query \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "queries": [
    "<string>"
  ],
  "context": "<string>",
  "search_metadata": {
    "filter": "<string>",
    "opensearch_filter": "<string>",
    "top_k": 123,
    "group_by_key": "<string>"
  },
  "config": {
    "rerank_documents": true,
    "generate_metadata_filters": true,
    "transform_query": true,
    "answer_multi_query": true,
    "expand_query": true,
    "do_advanced_qa": true,
    "format_context_for_llm": true,
    "generate_ai_doc_summaries": true,
    "retrieval_unit": "<string>",
    "retrieval_config": {
      "max_documents": 123,
      "data_fusion_method": "<string>"
    },
    "reranking_config": {
      "reranking_model": "<string>",
      "api_key": "<string>",
      "num_chunks_to_rerank": 123
    },
    "question_answering_config": {
      "qa_model": "<string>",
      "advanced_qa_mode": "<string>"
    },
    "hybrid_search_config": {
      "alpha": 123,
      "fusion_method": "<string>"
    },
    "score_cutoff": 123
  }
}
'
import requests

url = "https://api.vectorshift.ai/v1/knowledge-base/{id}/query"

payload = {
"queries": ["<string>"],
"context": "<string>",
"search_metadata": {
"filter": "<string>",
"opensearch_filter": "<string>",
"top_k": 123,
"group_by_key": "<string>"
},
"config": {
"rerank_documents": True,
"generate_metadata_filters": True,
"transform_query": True,
"answer_multi_query": True,
"expand_query": True,
"do_advanced_qa": True,
"format_context_for_llm": True,
"generate_ai_doc_summaries": True,
"retrieval_unit": "<string>",
"retrieval_config": {
"max_documents": 123,
"data_fusion_method": "<string>"
},
"reranking_config": {
"reranking_model": "<string>",
"api_key": "<string>",
"num_chunks_to_rerank": 123
},
"question_answering_config": {
"qa_model": "<string>",
"advanced_qa_mode": "<string>"
},
"hybrid_search_config": {
"alpha": 123,
"fusion_method": "<string>"
},
"score_cutoff": 123
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
queries: ['<string>'],
context: '<string>',
search_metadata: {
filter: '<string>',
opensearch_filter: '<string>',
top_k: 123,
group_by_key: '<string>'
},
config: {
rerank_documents: true,
generate_metadata_filters: true,
transform_query: true,
answer_multi_query: true,
expand_query: true,
do_advanced_qa: true,
format_context_for_llm: true,
generate_ai_doc_summaries: true,
retrieval_unit: '<string>',
retrieval_config: {max_documents: 123, data_fusion_method: '<string>'},
reranking_config: {reranking_model: '<string>', api_key: '<string>', num_chunks_to_rerank: 123},
question_answering_config: {qa_model: '<string>', advanced_qa_mode: '<string>'},
hybrid_search_config: {alpha: 123, fusion_method: '<string>'},
score_cutoff: 123
}
})
};

fetch('https://api.vectorshift.ai/v1/knowledge-base/{id}/query', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.vectorshift.ai/v1/knowledge-base/{id}/query",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'queries' => [
'<string>'
],
'context' => '<string>',
'search_metadata' => [
'filter' => '<string>',
'opensearch_filter' => '<string>',
'top_k' => 123,
'group_by_key' => '<string>'
],
'config' => [
'rerank_documents' => true,
'generate_metadata_filters' => true,
'transform_query' => true,
'answer_multi_query' => true,
'expand_query' => true,
'do_advanced_qa' => true,
'format_context_for_llm' => true,
'generate_ai_doc_summaries' => true,
'retrieval_unit' => '<string>',
'retrieval_config' => [
'max_documents' => 123,
'data_fusion_method' => '<string>'
],
'reranking_config' => [
'reranking_model' => '<string>',
'api_key' => '<string>',
'num_chunks_to_rerank' => 123
],
'question_answering_config' => [
'qa_model' => '<string>',
'advanced_qa_mode' => '<string>'
],
'hybrid_search_config' => [
'alpha' => 123,
'fusion_method' => '<string>'
],
'score_cutoff' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.vectorshift.ai/v1/knowledge-base/{id}/query"

payload := strings.NewReader("{\n \"queries\": [\n \"<string>\"\n ],\n \"context\": \"<string>\",\n \"search_metadata\": {\n \"filter\": \"<string>\",\n \"opensearch_filter\": \"<string>\",\n \"top_k\": 123,\n \"group_by_key\": \"<string>\"\n },\n \"config\": {\n \"rerank_documents\": true,\n \"generate_metadata_filters\": true,\n \"transform_query\": true,\n \"answer_multi_query\": true,\n \"expand_query\": true,\n \"do_advanced_qa\": true,\n \"format_context_for_llm\": true,\n \"generate_ai_doc_summaries\": true,\n \"retrieval_unit\": \"<string>\",\n \"retrieval_config\": {\n \"max_documents\": 123,\n \"data_fusion_method\": \"<string>\"\n },\n \"reranking_config\": {\n \"reranking_model\": \"<string>\",\n \"api_key\": \"<string>\",\n \"num_chunks_to_rerank\": 123\n },\n \"question_answering_config\": {\n \"qa_model\": \"<string>\",\n \"advanced_qa_mode\": \"<string>\"\n },\n \"hybrid_search_config\": {\n \"alpha\": 123,\n \"fusion_method\": \"<string>\"\n },\n \"score_cutoff\": 123\n }\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.vectorshift.ai/v1/knowledge-base/{id}/query")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"queries\": [\n \"<string>\"\n ],\n \"context\": \"<string>\",\n \"search_metadata\": {\n \"filter\": \"<string>\",\n \"opensearch_filter\": \"<string>\",\n \"top_k\": 123,\n \"group_by_key\": \"<string>\"\n },\n \"config\": {\n \"rerank_documents\": true,\n \"generate_metadata_filters\": true,\n \"transform_query\": true,\n \"answer_multi_query\": true,\n \"expand_query\": true,\n \"do_advanced_qa\": true,\n \"format_context_for_llm\": true,\n \"generate_ai_doc_summaries\": true,\n \"retrieval_unit\": \"<string>\",\n \"retrieval_config\": {\n \"max_documents\": 123,\n \"data_fusion_method\": \"<string>\"\n },\n \"reranking_config\": {\n \"reranking_model\": \"<string>\",\n \"api_key\": \"<string>\",\n \"num_chunks_to_rerank\": 123\n },\n \"question_answering_config\": {\n \"qa_model\": \"<string>\",\n \"advanced_qa_mode\": \"<string>\"\n },\n \"hybrid_search_config\": {\n \"alpha\": 123,\n \"fusion_method\": \"<string>\"\n },\n \"score_cutoff\": 123\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.vectorshift.ai/v1/knowledge-base/{id}/query")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"queries\": [\n \"<string>\"\n ],\n \"context\": \"<string>\",\n \"search_metadata\": {\n \"filter\": \"<string>\",\n \"opensearch_filter\": \"<string>\",\n \"top_k\": 123,\n \"group_by_key\": \"<string>\"\n },\n \"config\": {\n \"rerank_documents\": true,\n \"generate_metadata_filters\": true,\n \"transform_query\": true,\n \"answer_multi_query\": true,\n \"expand_query\": true,\n \"do_advanced_qa\": true,\n \"format_context_for_llm\": true,\n \"generate_ai_doc_summaries\": true,\n \"retrieval_unit\": \"<string>\",\n \"retrieval_config\": {\n \"max_documents\": 123,\n \"data_fusion_method\": \"<string>\"\n },\n \"reranking_config\": {\n \"reranking_model\": \"<string>\",\n \"api_key\": \"<string>\",\n \"num_chunks_to_rerank\": 123\n },\n \"question_answering_config\": {\n \"qa_model\": \"<string>\",\n \"advanced_qa_mode\": \"<string>\"\n },\n \"hybrid_search_config\": {\n \"alpha\": 123,\n \"fusion_method\": \"<string>\"\n },\n \"score_cutoff\": 123\n }\n}"

response = http.request(request)
puts response.read_body
{
  "result": {}
}

Authorizations

Authorization
string
header
required

Bearer token authentication using API key

Path Parameters

id
string
required

Knowledge base ID

Body

queries
string[]
required
context
string
search_metadata
object
config
object

Response

200 - application/json

Query results

status
enum<string>
Available options:
success,
failed
result
object