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.
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"
- A single condition:
- 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
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"
}
}
]