---
title: How to integrate SIE with your existing stack
description: "SIE connects to popular AI frameworks and vector databases through three integration paths: framework adapters for RAG pipelines, the native SDK for full feature access, and OpenAI compatibility for drop-in migration."
canonical_url: https://superlinked.com/docs/integrations
last_updated: 2026-05-20
---

**SIE provides three integration paths depending on how you are building.** Framework adapters plug SIE into existing RAG pipelines with minimal code. The native SDK gives you full access to every feature. OpenAI compatibility lets you point existing OpenAI code at SIE with a single URL change.

| Option | Best for |
| --- | --- |
| **[Framework adapters](#framework-adapters)** | LangChain, LlamaIndex, Haystack, Qdrant, Weaviate, Chroma, LanceDB, DSPy, CrewAI |
| **[Native SDK](#native-sdk)** | Custom pipelines, multi-vector output, full extraction support |
| **[OpenAI compatibility](#openai-compatibility)** | Migrating existing OpenAI embeddings code |

---

## Which Integration Path Should I Use?

Use the summary table and anchor links above to jump to framework adapters, the native SDK, or OpenAI compatibility.

---

## Framework Adapters

SIE provides dedicated packages for all major Python AI frameworks and vector stores, plus four TypeScript packages.

### Python

| Framework | Package | Embeddings | Sparse | Multivector | Reranking | Extraction | Multimodal |
| --- | --- | --- | --- | --- | --- | --- | --- |
| [Chroma](https://superlinked.com/docs/integrations/chroma/) | `sie-chroma` | Yes | Yes | No | No | No | No |
| [CrewAI](https://superlinked.com/docs/integrations/crewai/) | `sie-crewai` | No | Yes | No | Yes | Yes | No |
| [DSPy](https://superlinked.com/docs/integrations/dspy/) | `sie-dspy` | Yes | Yes | No | Yes | Yes | No |
| [Haystack](https://superlinked.com/docs/integrations/haystack/) | `sie-haystack` | Yes | Yes | Yes | Yes | Yes | Yes |
| [LanceDB](https://superlinked.com/docs/integrations/lancedb/) | `sie-lancedb` | Yes | No | No | Yes | Yes | No |
| [LangChain](https://superlinked.com/docs/integrations/langchain/) | `sie-langchain` | Yes | Yes | No | Yes | Yes | No |
| [LlamaIndex](https://superlinked.com/docs/integrations/llamaindex/) | `sie-llamaindex` | Yes | Yes | No | Yes | Yes | Yes |
| [Qdrant](https://superlinked.com/docs/integrations/qdrant/) | `sie-qdrant` | Yes | Yes | Yes | No | No | No |
| [Weaviate](https://superlinked.com/docs/integrations/weaviate/) | `sie-weaviate` | Yes | Yes | Yes | No | No | No |

### TypeScript

| Framework | Package | Embeddings | Sparse | Multivector | Reranking | Extraction |
| --- | --- | --- | --- | --- | --- | --- |
| Chroma | `@superlinked/sie-chroma` | Yes | Yes | No | No | No |
| LanceDB | `@superlinked/sie-lancedb` | Yes | No | No | Yes | No |
| LangChain.js | `@superlinked/sie-langchain` | Yes | Yes | No | Yes | Yes |
| LlamaIndex.ts | `@superlinked/sie-llamaindex` | Yes | Yes | No | Yes | Yes |

**Use a framework adapter when:**
- You are building a RAG pipeline with one of these frameworks
- You need sparse embeddings for hybrid search
- You need reranking to improve retrieval quality

For features marked "No" in the table above, you can use the native SDK alongside your framework integration. See each integration's page for examples.

---

## Native SDK

The native SDK gives you full access to all SIE features: dense, sparse, and multi-vector embeddings, reranking, and extraction (entities, relations, classifications, object detection).

```bash
pip install sie-sdk
# or
pnpm add @superlinked/sie-sdk
```

#### Python

```python
from sie_sdk import SIEClient
from sie_sdk.types import Item

client = SIEClient("http://localhost:8080")

# All output types from one model
result = client.encode(
    "BAAI/bge-m3",
    Item(text="Your text"),
    output_types=["dense", "sparse", "multivector"]
)

# Reranking
scores = client.score(
    "BAAI/bge-reranker-v2-m3",
    query=Item(text="What is AI?"),
    items=[Item(text="AI is..."), Item(text="Weather is...")]
)

# Entity extraction
entities = client.extract(
    "urchade/gliner_multi-v2.1",
    Item(text="Tim Cook leads Apple."),
    labels=["person", "organization"]
)
```

#### TypeScript

```typescript
import { SIEClient } from "@superlinked/sie-sdk";

const client = new SIEClient("http://localhost:8080");

// All output types from one model
const result = await client.encode(
  "BAAI/bge-m3",
  { text: "Your text" },
  { outputTypes: ["dense", "sparse", "multivector"] },
);

// Reranking
const scores = await client.score(
  "BAAI/bge-reranker-v2-m3",
  { text: "What is AI?" },
  [{ text: "AI is..." }, { text: "Weather is..." }],
);

// Entity extraction
const entities = await client.extract(
  "urchade/gliner_multi-v2.1",
  { text: "Tim Cook leads Apple." },
  { labels: ["person", "organization"] },
);

await client.close();
```

**Use the native SDK when:**
- You are building a custom pipeline without a framework
- You need multi-vector (ColBERT) output
- You need extraction (entities, relations, classifications, object detection)
- You want fine-grained control over batching and timing

---

## OpenAI Compatibility

SIE exposes `/v1/embeddings` matching OpenAI's API format. Existing OpenAI code works with a single URL change and no other modifications:

```python
from openai import OpenAI

client = OpenAI(base_url="http://localhost:8080/v1", api_key="not-needed")

response = client.embeddings.create(
    model="BAAI/bge-m3",
    input=["Your text here", "Another text"]
)
for item in response.data:
    print(f"Index {item.index}: {len(item.embedding)} dimensions")
```

**Use OpenAI compatibility when:**
- You have existing code using the OpenAI SDK
- You only need dense embeddings
- You want zero code changes beyond the URL

**Limitations:** Dense embeddings only. Sparse, multi-vector, reranking, and extraction require the native SDK or a framework adapter.

---

## Full Feature Comparison

| Feature | Framework adapters | Native SDK | OpenAI compat |
| --- | --- | --- | --- |
| Dense embeddings | All | Yes | Yes |
| Sparse embeddings | Most | Yes | No |
| Multi-vector (ColBERT) | Haystack, Qdrant, Weaviate | Yes | No |
| Reranking | Haystack, LangChain, LlamaIndex, LanceDB | Yes | No |
| Extraction (NER, relations, classification, vision) | Haystack, LangChain, LlamaIndex, LanceDB, CrewAI, DSPy | Yes | No |

---

## Frequently Asked Questions

**Does SIE work with Qdrant?**
Yes. Install `sie-qdrant` for dense and sparse embedding support with Qdrant. See the [Qdrant integration guide](https://superlinked.com/docs/integrations/qdrant/).

**Can I use SIE as a drop-in replacement for OpenAI embeddings?**
Yes, for dense embeddings. Change your base URL to your SIE server and set any string as the API key. The response format matches OpenAI's exactly. See [OpenAI compatibility](#openai-compatibility) above.

**Which integration supports the most features?**
`sie-haystack` and `sie-llamaindex` support the most features, including embeddings, sparse, reranking, extraction, and multimodal. See the full feature table above.

**Where can I find setup instructions for each framework?**
Each framework has its own dedicated page. See [Chroma](https://superlinked.com/docs/integrations/chroma/), [LangChain](https://superlinked.com/docs/integrations/langchain/), [LlamaIndex](https://superlinked.com/docs/integrations/llamaindex/), [Haystack](https://superlinked.com/docs/integrations/haystack/), [Qdrant](https://superlinked.com/docs/integrations/qdrant/), [Weaviate](https://superlinked.com/docs/integrations/weaviate/), [LanceDB](https://superlinked.com/docs/integrations/lancedb/), [DSPy](https://superlinked.com/docs/integrations/dspy/), and [CrewAI](https://superlinked.com/docs/integrations/crewai/).
