ClickHouse is an open-source database for real-time apps and analytics with full SQL support. ClickHouse supports exact vector search (for example, using distance functions like L2Distance) and approximate vector search using vector similarity indexes (available in ClickHouse 25.8+). For details, see Exact and Approximate Vector Search.
This page shows how to use functionality related to the ClickHouse vector store.
设置
First set up a local clickhouse server with docker:langchain-community and clickhouse-connect to use this integration
凭证
There are no credentials for this notebook, just make sure you have installed the packages as shown above. 如果您希望获得一流的模型调用自动追踪功能,还可以通过取消注释以下代码来设置 LangSmith API 密钥:实例化
管理向量存储
创建向量存储后,我们可以通过添加和删除不同的项目来与其交互。向向量存储添加项目
我们可以使用add_documents 函数向向量存储添加项目。
从向量存储删除项目
We can delete items from our vector store by ID by using thedelete function.
查询向量存储
一旦创建了向量存储并添加了相关文档,您很可能希望在链或智能体运行期间对其进行查询。直接查询
相似度搜索
可以按以下方式执行简单的相似度搜索:带分数的相似度搜索
您也可以进行带分数的搜索:过滤
You can have direct access to ClickHouse SQL where statement. You can writeWHERE clause following standard SQL.
NOTE: Please be aware of SQL injection, this interface must not be directly called by end-user.
If you customized your column_map in your settings, you can search with a filter like this:
其他搜索方法
There are a variety of other search methods that are not covered in this notebook, such as MMR search or searching by vector.转换为检索器进行查询
您还可以将向量存储转换为检索器,以便在链中更方便地使用。 Here is how to transform your vector store into a retriever and then invoke the retriever with a simple query and filter.用于检索增强生成
有关如何将此向量存储用于检索增强生成 (RAG) 的指南,请参阅以下部分: For more, check out the complete RAG template using Astra DB.连接这些文档到 Claude、VSCode 等工具,通过 MCP 获取实时答案。

