LogoLogo
  • 🔬Activeloop
  • 🏠Setup
    • Quickstart
  • Models & Pricing
  • 📖User Guide
    • Ingesting with Metadata
      • Modalities
    • Filtering Query
      • Query Syntax
    • Streaming Output
  • 🏗️API Reference
    • Chat Completions
    • Files
Powered by GitBook
On this page
  • Simple Query
  • Retrieving top K elements without Reasoning
  • Getting answer from Hegel
  • Getting answer from other authors
Export as PDF
  1. User Guide

Filtering Query

This section provides a detailed guide to the filter expression syntax, a lightweight query language for filtering data.

Simple Query

Querying the data works as follows

import os, requests

url = "https://api.activeloop.ai/chat/completions"
token = os.environ["ACTIVELOOP_TOKEN"]
headers = {'Authorization': f'Bearer {token}'}

payload = {
    "model": "activeloop-l0",
    "messages": [
        {
            "role": "user",
            "content": "What is logic?", 
        }   
    ]
}
        
response = requests.post(url, headers=headers, json=payload)

# Print the response
print(response.json())

Retrieving top K elements without Reasoning

When activeloop-l0-retrieval is used there is no reasoning or summary returned. Only top_k results.

payload = {
    "model": "activeloop-l0-retrieval",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "filter",
                    "top_k": 3
                },
                {
                    "type": "text",
                    "text": "What is logic?" # query
                }
            ]
        }   
    ]
}
        
response = requests.post(url, headers=headers, json=payload)

print(response.json()["choices"]) # top k elements

Getting answer from Hegel

Now, we can filter files based on metadata, before running the query.

payload = {
    "model": "activeloop-l0",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "filter",
                    "filter": "metadata.author == 'hegel'"
                }, 
                {   
                    "type": "text",
                    "text": "What is logic?"
                } 
            ]   
        }   
    ],
}       
        
response = requests.post(url, headers=headers, json=payload)
print(response.json())

Getting answer from other authors

payload = {
    "model": "activeloop-l0",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "filter",
                    "filter": "metadata.author != 'hegel'"
                },   
                {   
                    "type": "text",
                    "text": "What is logic?"
                }
            ]
        }   
    ],
}       
        
response = requests.post(url, headers=headers, json=payload)
print(response.json())
PreviousModalitiesNextQuery Syntax

Last updated 15 days ago

You can learn more about on various ways you can filter the data via .

📖
Query Syntax