Native retriever cho query engine LlamaIndex với streaming và hybrid search.
SeiznRetriever triển khai giao diện BaseRetriever của LlamaIndex, giúp tương thích với tất cả query engine và pipeline LlamaIndex.
Cài đặt Seizn SDK cùng với LlamaIndex.
# TypeScript / JavaScript
npm install seizn llamaindex
# Python
pip install seizn llama-indexXây dựng query engine với SeiznRetriever cho ứng dụng RAG của bạn.
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"))Bật streaming để trải nghiệm người dùng tốt hơn với phản hồi dài.
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);
}Kết hợp tìm kiếm vector và từ khóa để recall tốt hơn.
const retriever = new SeiznRetriever({
apiKey: process.env.SEIZN_API_KEY,
dataset: 'my-docs',
searchMode: 'hybrid', // vector + keyword
hybridAlpha: 0.7, // 70% vector, 30% keyword
});Xâu chuỗi postprocessor cho lọc và reranking nâng cao.
import { SimilarityPostprocessor, KeywordNodePostprocessor } from 'llamaindex';
const queryEngine = new RetrieverQueryEngine(retriever, llm, {
nodePostprocessors: [
new SimilarityPostprocessor({ similarityCutoff: 0.7 }),
new KeywordNodePostprocessor({
requiredKeywords: ['authentication'],
excludeKeywords: ['deprecated'],
}),
],
});| Lỗi | Nguyên nhân | Giải pháp |
|---|---|---|
SEIZN_AUTH_ERROR | API key không hợp lệ hoặc thiếu | Kiểm tra biến môi trường SEIZN_API_KEY |
SEIZN_DATASET_NOT_FOUND | Không tìm thấy tên dataset | Xác minh dataset tồn tại trong bảng điều khiển |
Low relevance scores | Truy vấn không khớp tài liệu | Thử hybrid search hoặc điều chỉnh threshold |