Skip to main content

ClickHouse

Langchain Vector store for ClickHouse.

Install

pip install langchain-clickhouse

or

uv add langchain-clickhouse

Requires a running ClickHouse server (default: localhost:8123).

API Reference

__init__

def __init__(
    self,
    embedding_function: Embeddings | None = None,
    host: str = "localhost",
    port: int = 8123,
    database: str = "default",
    username: str = "default",
    password: str = "",
    table_name: str = "langchain_documents",
    **kwargs,
)
Parameter Type Description
embedding_function Embeddings | None Embedding function used to embed queries and texts (e.g., FastEmbedEmbeddings).
host str ClickHouse server host. Default "localhost".
port int ClickHouse HTTP interface port. Default 8123.
database str Database name. Default "default".
username str ClickHouse username. Default "default".
password str ClickHouse password. Default "".
table_name str Table name for storing documents. Default "langchain_documents". Created as a MergeTree if it doesn't exist.

from_texts

def from_texts(
    cls,
    texts: list[str],
    embedding: Embeddings | None = None,
    metadatas: list[dict] | None = None,
    ids: list[str] | None = None,
    host: str | None = None,
    port: int | None = None,
    database: str | None = None,
    username: str | None = None,
    password: str | None = None,
    table_name: str | None = None,
    **kwargs,
) -> ClickHouse
Parameter Type Description
texts list[str] Texts to index.
embedding Embeddings | None Embedding function.
metadatas list[dict] | None Optional metadata dicts, one per text.
ids list[str] | None Optional document IDs. Auto-generated via SHA-256 if not provided.
host str | None ClickHouse host (default: CLICKHOUSE_HOST env var or "localhost").
port int | None ClickHouse HTTP port (default: CLICKHOUSE_PORT env var or 8123).
database str | None Database name (default: CLICKHOUSE_DATABASE env var or "default").
username str | None ClickHouse username (default: CLICKHOUSE_USERNAME env var or "default").
password str | None ClickHouse password (default: CLICKHOUSE_PASSWORD env var or "").
table_name str | None Table name. Default "langchain_documents".

Returns: ClickHouse — a new vector store with the texts indexed.


add_texts

def add_texts(
    self,
    texts: list[str],
    metadatas: list[dict] | None = None,
    ids: list[str] | None = None,
    **kwargs,
) -> list[str]
Parameter Type Description
texts list[str] Texts to add.
metadatas list[dict] | None Optional metadata dicts, one per text. Defaults to {}.
ids list[str] | None Optional document IDs. Auto-generated via SHA-256 if not provided.

Returns: list[str] — the IDs of the added texts.


delete

def delete(
    self,
    ids: list[str] | None = None,
    **kwargs,
) -> bool | None
Parameter Type Description
ids list[str] | None List of document IDs to remove.

Returns: boolTrue if deletion succeeded. Raises ValueError if ids is None.


similarity_search

def similarity_search(
    self,
    query: str,
    k: int = 4,
    **kwargs,
) -> list[Document]
Parameter Type Description
query str Query text.
k int Number of documents to return. Default 4.

Returns: list[Document] — documents most similar to the query, ordered by cosine similarity (descending).


similarity_search_with_score

def similarity_search_with_score(
    self,
    query: str,
    k: int = 4,
    **kwargs,
) -> list[tuple[Document, float]]
Parameter Type Description
query str Query text.
k int Number of documents to return. Default 4.

Returns: list[tuple[Document, float]] — tuples of (Document, cosine_similarity). Score range [-1, 1]. Higher = more similar. Uses ClickHouse's native 1 - cosineDistance() for server-side ranking.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchain_clickhouse-0.1.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langchain_clickhouse-0.1.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file langchain_clickhouse-0.1.0.tar.gz.

File metadata

File hashes

Hashes for langchain_clickhouse-0.1.0.tar.gz
Algorithm Hash digest
SHA256 34aaa4eaa3eb43faadd2235b9364e6b59949311a9e2172ac4b101dbbc49fa800
MD5 6c3a602e2f26e6f368a77044f60568c6
BLAKE2b-256 1f13bcf9f8d158b8b955edd24f31b3f29cc32c834c3a952307adede634071921

See more details on using hashes here.

File details

Details for the file langchain_clickhouse-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_clickhouse-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 672bbe3ed3c0c57a0f6f92053e04c811289ab6f8563b29df517ac07346dd31ec
MD5 094b98484aaeea570d1e5970f1ef5625
BLAKE2b-256 cef17e43f814387e3726eae98864361b461849d7f2ec123301895647b6398f41

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page