Skip to content
5 changes: 5 additions & 0 deletions packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -797,3 +797,8 @@ packages:
js: "n/a"
downloads: 188
downloads_updated_at: '2026-06-15T00:31:43.789982+00:00'
- name: langchain-infino
repo: infino-ai/langchain-infino
js: "@infino-ai/langchain-infino"
downloads: 0
downloads_updated_at: "2026-06-15T00:31:43.789982+00:00"
70 changes: 70 additions & 0 deletions src/oss/python/integrations/providers/infino.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
title: "Infino integrations"
description: "Integrate with Infino using LangChain Python."
---

>[Infino](https://github.com/infino-ai/infino) is a retrieval engine that runs
>SQL, full-text (BM25), vector, and hybrid (RRF) search over **one copy** of
>your data in Apache Parquet on object storage, with no separate vector database
>and search cluster to provision, sync, or keep consistent.

The `langchain-infino` package surfaces that whole retrieval surface, not just
`similarity_search`: semantic search *and* exact-keyword BM25 *and* their
fusion, from a single in-process engine. Infino never embeds; you bring a
LangChain `Embeddings` object and the integration supplies the vectors.

## Installation and setup

<CodeGroup>
```bash pip
pip install langchain-infino
```

```bash uv
uv add langchain-infino
```
</CodeGroup>

Infino runs in-process, so there are no credentials or API keys. A connection is
a local path or an `s3://` URI for durable storage (`memory://` is ephemeral):

```python
import infino

connection = infino.connect("./data")
```

## Vector store

`InfinoVectorStore` wraps a single Infino table: the text, its embedding, the
document id, declared metadata columns, and a JSON catch-all. Vector, filtered,
MMR, and hybrid retrieval all run over that one table.

```python
from langchain_infino import InfinoVectorStore
```

For a detailed walkthrough, see the [InfinoVectorStore page](/oss/integrations/vectorstores/infino).

## Retriever

Beyond `as_retriever()` (vector), the store exposes lexical and fused
retrievers, plus a self-query translator that lowers an LLM's structured query
to a SQL `WHERE` over the declared metadata columns:

```python
from langchain_infino import (
InfinoBM25Retriever,
InfinoHybridRetriever,
InfinoTranslator,
)
```

## LLM cache

`InfinoSemanticCache` caches model responses keyed by prompt meaning, backed by
one small Infino table:

```python
from langchain_infino import InfinoSemanticCache
```
26 changes: 26 additions & 0 deletions src/oss/python/integrations/vectorstores/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -578,6 +578,32 @@ vector_store = ElasticsearchStore(
)
```

</Accordion>
<Accordion title="Infino">

<CodeGroup>
```bash pip
pip install -qU langchain-infino
```

```bash uv
uv add langchain-infino
```
</CodeGroup>
```python
import infino
from langchain_infino import InfinoVectorStore

connection = infino.connect("./data") # local path, or "s3://my-bucket/kb"

vector_store = InfinoVectorStore.from_texts(
[],
embeddings,
connection=connection,
table_name="support_kb",
dim=1536,
)
```
</Accordion>
<Accordion title="Milvus">

Expand Down
Loading
Loading