class AzionRetrieverSerializableExample usage:
// Initialize embeddings and chat model
const embeddings = new OpenAIEmbeddings();
const chatModel = new ChatOpenAI({ model: "gpt-4o-mini" });
// Create retriever with hybrid search
const retriever = new AzionRetriever(embeddings, chatModel, {
searchType: 'hybrid',
similarityK: 3,
ftsK: 2,
dbName: 'my_docs',
metadataItems: ['category', 'author'],
vectorTable: 'documents',
ftsTable: 'documents_fts',
filters: [
{ operator: '=', column: 'status', value: 'published' }
]
});
// Retrieve relevant documents
const docs = await retriever.invoke(
"What are coral reefs in Australia?"
);
// Create retriever with similarity search only
const simRetriever = new AzionRetriever(embeddings, chatModel, {
searchType: 'similarity',
similarityK: 5,
dbName: 'my_docs',
vectorTable: 'documents'
});
// Customize entity extraction prompt
const customRetriever = new AzionRetriever(embeddings, chatModel, {
searchType: 'hybrid',
similarityK: 3,
ftsK: 2,
dbName: 'my_docs',
promptEntityExtractor: "Extract key entities from: {{query}}"
});