Memory: Retrieve v1

The retrieve memory API endpoint allows you to retrieve similar chunks from an existing memory on Langbase based on a query. This endpoint requires an Org or User API key.


Generate an Org/User API key

You will need to generate an API key to authenticate your requests. For more information, visit the Org/User API key documentation.


POST/v1/memory/retrieve

Retrieve similar chunks from multiple memory

Retrieve similar chunks by specifying the query and memory names in the request body.

Headers

  • Name
    Content-Type
    Type
    string
    Required
    Required
    Description

    Request content type. Needs to be application/json.

  • Name
    Authorization
    Type
    string
    Required
    Required
    Description

    Replace <YOUR_API_KEY> with your user/org API key.

Body Parameters

  • Name
    query
    Type
    string
    Required
    Required
    Description

    The search query for retrieving similar chunks.

  • Name
    memory
    Type
    Array<Memory>
    Required
    Required
    Description

    An array of memory objects from which to retrieve similar chunks.

    Memory Object

    interface Memory {
      name: string;
      filters?: MemoryFilters;
    }
    
    • Name
      name
      Type
      string
      Required
      Required
      Description

      The name of the memory.

    • Name
      filters
      Type
      MemoryFilters
      Description

      Optional array of filters to narrow down the search results.

      MemoryFilters Type

      type FilterOperator = 'Eq' | 'NotEq' | 'In' | 'NotIn' | 'And' | 'Or';
      type FilterConnective = 'And' | 'Or';
      type FilterValue = string | string[];
      type MemoryFilters = [FilterOperator | FilterConnective, FilterValue | MemoryFilters][];
      

      Filters can be either:

      • A single condition: ["field", "operator", "value"]
      • A nested structure: ["And"|"Or", MemoryFilters]

      Available operators: "Eq", "NotEq", "In", "NotIn", "And", "Or"

  • Name
    topK
    Type
    number
    Description

    The number of top similar chunks to return from memory. Default is 20, minimum is 1, and maximum is 100.

Usage example

Install the SDK

npm i langbase

Environment variables

.env file

LANGBASE_API_KEY="<USER/ORG-API-KEY>"

Retrieve Similar Chunks

Basic

POST
/v1/memory/retrieve
import {Langbase} from 'langbase';

const langbase = new Langbase({
  apiKey: process.env.LANGBASE_API_KEY!,
});

async function main() {
  const chunks = await langbase.memory.retrieve({
    query: "What are the key features?",
    memory: [{
      name: "knowledge-base"
    }]
  });

  console.log('Memory chunk:', chunks);
}

main();

Response

  • Name
    MemoryRetrieveResponse[]
    Type
    array
    Description

    The array of retrieve response objects returned by the API endpoint.

    MemoryRetrieveResponse

    interface MemoryRetrieveResponse {
      text: string;
      similarity: number;
      meta: Record<string, string>;
    }
    
    • Name
      text
      Type
      string
      Description

      Retrieved text segment from memory.

    • Name
      similarity
      Type
      number
      Description

      Similarity score between the query and retrieved text (0-1 range).

    • Name
      meta
      Type
      Record<string, string>
      Description

      Additional metadata associated with the retrieved text.

API Response

[
	{
		"text": "Key features of Langbase include: semantic search capabilities, flexible memory management, and scalable architecture for handling large datasets.",
		"similarity": 0.92,
		"meta": {
			"category": "features",
			"section": "overview"
		}
	},
	{
		"text": "Our platform offers advanced features like real-time memory updates, custom metadata filtering, and enterprise-grade security.",
		"similarity": 0.87,
		"meta": {
			"category": "updates",
			"section": "highlights"
		}
	},
	{
		"text": "Platform highlights include AI-powered memory retrieval, customizable embedding models, and advanced filtering capabilities.",
		"similarity": 0.85,
		"meta": {
			"category": "features",
			"section": "highlights"
		}
	}
]