Native retriever for LlamaIndex query engines with streaming and hybrid search.
SeiznRetriever implements the LlamaIndex BaseRetriever interface, making it compatible with all LlamaIndex query engines and pipelines.
Install the Seizn SDK alongside LlamaIndex.
# TypeScript / JavaScript
npm install seizn llamaindex
# Python
pip install seizn llama-indexBuild a query engine with SeiznRetriever for your RAG application.
import { SeiznRetriever } from 'seizn/llamaindex';
import { OpenAI } from 'llamaindex';
import { VectorStoreIndex, RetrieverQueryEngine } from 'llamaindex';
// Initialize the Seizn retriever
const retriever = new SeiznRetriever({
apiKey: process.env.SEIZN_API_KEY,
dataset: 'my-docs',
topK: 5,
threshold: 0.7,
});
// Create a query engine with the retriever
const llm = new OpenAI({ model: 'gpt-4' });
const queryEngine = new RetrieverQueryEngine(retriever, llm);
// Query your documents
const response = await queryEngine.query(
'How do I configure rate limiting?'
);
console.log(response.response);
// Access the trace for debugging
console.log('Trace:', response.metadata?.seiznTrace);import os
from seizn.llamaindex import SeiznRetriever
from llama_index.llms.openai import OpenAI
from llama_index.core.query_engine import RetrieverQueryEngine
# Initialize the Seizn retriever
retriever = SeiznRetriever(
api_key=os.environ["SEIZN_API_KEY"],
dataset="my-docs",
top_k=5,
threshold=0.7,
)
# Create a query engine with the retriever
llm = OpenAI(model="gpt-4")
query_engine = RetrieverQueryEngine.from_args(
retriever=retriever,
llm=llm,
)
# Query your documents
response = query_engine.query(
"How do I configure rate limiting?"
)
print(response.response)
# Access the trace for debugging
print("Trace:", response.metadata.get("seizn_trace"))Enable streaming for better user experience with long responses.
const queryEngine = new RetrieverQueryEngine(retriever, llm);
// Enable streaming response
const stream = await queryEngine.query(
'Explain the authentication flow',
{ streaming: true }
);
for await (const chunk of stream) {
process.stdout.write(chunk.response);
}Combine vector and keyword search for better recall.
const retriever = new SeiznRetriever({
apiKey: process.env.SEIZN_API_KEY,
dataset: 'my-docs',
searchMode: 'hybrid', // vector + keyword
hybridAlpha: 0.7, // 70% vector, 30% keyword
});Chain postprocessors for advanced filtering and reranking.
import { SimilarityPostprocessor, KeywordNodePostprocessor } from 'llamaindex';
const queryEngine = new RetrieverQueryEngine(retriever, llm, {
nodePostprocessors: [
new SimilarityPostprocessor({ similarityCutoff: 0.7 }),
new KeywordNodePostprocessor({
requiredKeywords: ['authentication'],
excludeKeywords: ['deprecated'],
}),
],
});| Error | Cause | Solution |
|---|---|---|
SEIZN_AUTH_ERROR | Invalid or missing API key | Check SEIZN_API_KEY environment variable |
SEIZN_DATASET_NOT_FOUND | Dataset name not found | Verify dataset exists in dashboard |
Low relevance scores | Query-document mismatch | Try hybrid search or adjust threshold |