🦙Resmi

Integrasi LlamaIndex

Native retriever untuk query engine LlamaIndex dengan streaming dan hybrid search.

01Ikhtisar 60 Detik

SeiznRetriever mengimplementasikan antarmuka BaseRetriever LlamaIndex, membuatnya kompatibel dengan semua query engine dan pipeline LlamaIndex.

  • Integrasi native dengan query engine LlamaIndex
  • Mendukung streaming response langsung
  • Kompatibel dengan node postprocessor LlamaIndex

02Instalasi

Instal Seizn SDK bersama LlamaIndex.

Installationbash
# TypeScript / JavaScript
npm install seizn llamaindex

# Python
pip install seizn llama-index

03Contoh 5 Menit

Bangun query engine dengan SeiznRetriever untuk aplikasi RAG Anda.

TypeScripttypescript
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);
Pythonpython
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"))

04Tips Produksi

Streaming Response

Aktifkan streaming untuk pengalaman pengguna yang lebih baik dengan respons panjang.

typescript
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);
}

Hybrid Search

Gabungkan pencarian vektor dan kata kunci untuk recall yang lebih baik.

typescript
const retriever = new SeiznRetriever({
  apiKey: process.env.SEIZN_API_KEY,
  dataset: 'my-docs',
  searchMode: 'hybrid', // vector + keyword
  hybridAlpha: 0.7,     // 70% vector, 30% keyword
});

Node Postprocessor

Rangkai postprocessor untuk penyaringan dan reranking lanjutan.

typescript
import { SimilarityPostprocessor, KeywordNodePostprocessor } from 'llamaindex';

const queryEngine = new RetrieverQueryEngine(retriever, llm, {
  nodePostprocessors: [
    new SimilarityPostprocessor({ similarityCutoff: 0.7 }),
    new KeywordNodePostprocessor({
      requiredKeywords: ['authentication'],
      excludeKeywords: ['deprecated'],
    }),
  ],
});

05Pemecahan Masalah

KesalahanPenyebabSolusi
SEIZN_AUTH_ERRORAPI key tidak valid atau tidak adaPeriksa variabel lingkungan SEIZN_API_KEY
SEIZN_DATASET_NOT_FOUNDNama dataset tidak ditemukanVerifikasi dataset ada di dasbor
Low relevance scoresKetidakcocokan kueri-dokumenCoba hybrid search atau sesuaikan threshold