Retrieve from Memory langbase.memories.retrieve()
Retrieve similar chunks from an AI memory on Langbase for a query using the langbase.memories.retrieve()
function.
Generate a User/Org API key
You will need to generate an API key to authenticate your requests. For more information, visit the User/Org API key documentation.
API reference
langbase.memories.retrieve(options)
Function Signature
langbase.memories.retrieve(options);
// with types.
langbase.memories.retrieve(options: MemoryRetrieveOptions);
options
- Name
options
- Type
- MemoryRetrieveOptions
- Description
MemoryRetrieveOptions Object
interface MemoryRetrieveOptions { query: string; memory: Memory[]; topK?: number; }
Following are the properties of the options object.
- 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. Each object can include optional filters to narrow down the search.
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 FilterCondition = [string, FilterOperator, FilterValue]; type MemoryFilters = [FilterConnective, MemoryFilters[]] | FilterCondition;
Filters can be either:
- A single condition:
["field", "operator", "value"]
- A nested structure:
["And"|"Or", MemoryFilters]
- 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 from memory
Retrieve from memory on Langbase
import {Langbase} from 'langbase';
const langbase = new Langbase({
apiKey: process.env.LANGBASE_API_KEY!,
});
async function main() {
const chunks = await langbase.memories.retrieve({
query: "What are the key features?",
memory: [{
name: "knowledge-base"
}]
});
console.log('Memory chunk:', chunks);
}
main();
Response
- Name
MemoryRetrieveResponse[]
- Type
- array
- Description
The response array returned by the
langbase.memories.retrieve()
function.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.
Response Examples
[
{
"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"
}
}
]