पूर्ण ट्रेसिंग समर्थन के साथ LangChain RAG पाइपलाइन के लिए ड्रॉप-इन रिट्रीवर।
SeiznRetriever किसी भी LangChain रिट्रीवर का ड्रॉप-इन प्रतिस्थापन है। यह बिल्ट-इन ट्रेसिंग, कैशिंग और रीरैंकिंग के साथ वेक्टर खोज प्रदान करता है।
LangChain के साथ Seizn SDK इंस्टॉल करें।
# TypeScript / JavaScript
npm install seizn @langchain/core
# Python
pip install seizn langchainकोड की कुछ ही लाइनों में SeiznRetriever के साथ RAG चेन बनाएं।
import { SeiznRetriever } from 'seizn/langchain';
import { ChatOpenAI } from '@langchain/openai';
import { createRetrievalChain } from 'langchain/chains/retrieval';
import { createStuffDocumentsChain } from 'langchain/chains/combine_documents';
import { ChatPromptTemplate } from '@langchain/core/prompts';
// Initialize the Seizn retriever
const retriever = new SeiznRetriever({
apiKey: process.env.SEIZN_API_KEY,
dataset: 'my-docs',
topK: 5,
threshold: 0.7,
});
// Create a RAG chain
const llm = new ChatOpenAI({ model: 'gpt-4' });
const prompt = ChatPromptTemplate.fromTemplate(`
Answer the question based on the following context:
{context}
Question: {input}
`);
const documentChain = await createStuffDocumentsChain({ llm, prompt });
const retrievalChain = await createRetrievalChain({
combineDocsChain: documentChain,
retriever,
});
// Run the chain
const response = await retrievalChain.invoke({
input: 'How do I configure rate limiting?',
});
console.log(response.answer);
// Trace ID available for debugging
console.log('Trace:', response.seiznTrace);import os
from seizn.langchain import SeiznRetriever
from langchain_openai import ChatOpenAI
from langchain.chains import create_retrieval_chain
from langchain.chains.combine_documents import create_stuff_documents_chain
from langchain_core.prompts import ChatPromptTemplate
# Initialize the Seizn retriever
retriever = SeiznRetriever(
api_key=os.environ["SEIZN_API_KEY"],
dataset="my-docs",
top_k=5,
threshold=0.7,
)
# Create a RAG chain
llm = ChatOpenAI(model="gpt-4")
prompt = ChatPromptTemplate.from_template("""
Answer the question based on the following context:
{context}
Question: {input}
""")
document_chain = create_stuff_documents_chain(llm, prompt)
retrieval_chain = create_retrieval_chain(retriever, document_chain)
# Run the chain
response = retrieval_chain.invoke({
"input": "How do I configure rate limiting?"
})
print(response["answer"])
# Trace ID available for debugging
print("Trace:", response.get("seizn_trace"))बार-बार की जाने वाली क्वेरी को कैश करके लेटेंसी और लागत कम करें।
const retriever = new SeiznRetriever({
apiKey: process.env.SEIZN_API_KEY,
dataset: 'my-docs',
cache: {
enabled: true,
ttl: 3600, // 1 hour
},
});क्रॉस-एनकोडर रीरैंकिंग से परिणाम गुणवत्ता में सुधार करें।
const retriever = new SeiznRetriever({
apiKey: process.env.SEIZN_API_KEY,
dataset: 'my-docs',
rerank: {
enabled: true,
model: 'cohere-rerank-v3',
topN: 3,
},
});वेक्टर खोज से पहले मेटाडेटा फ़ील्ड द्वारा परिणाम फ़िल्टर करें।
const retriever = new SeiznRetriever({
apiKey: process.env.SEIZN_API_KEY,
dataset: 'my-docs',
filter: {
category: 'api-docs',
language: 'en',
},
});| त्रुटि | कारण | समाधान |
|---|---|---|
SEIZN_AUTH_ERROR | अमान्य या अनुपस्थित API कुंजी | SEIZN_API_KEY एनवायरनमेंट वेरिएबल जांचें |
SEIZN_RATE_LIMIT | प्रति सेकंड बहुत अधिक अनुरोध | एक्सपोनेंशियल बैकऑफ लागू करें या प्लान अपग्रेड करें |
Empty results | थ्रेशोल्ड बहुत अधिक या कोई मिलान दस्तावेज़ नहीं | थ्रेशोल्ड कम करें या डेटासेट सामग्री जांचें |