AI 应用开发者的福音 —— OceanBase seekdb JavaScript / TypeScript SDK 正式开源!
摘要:
OceanBase seekdb JavaScript/TypeScript SDK(seekdb-js)正式开源,支持自动向量化、语义搜索与混合搜索,兼容本地及云端多种 Embedding 服务,提供完整 TypeScript 类型定义,可与 seekdb 和 OceanBase 无缝协作,助力 AI 应用开发者高效实现向量检索与混合查询场景。
背景
最近尝试用 Cursor 和 Claude Code 配合 seekdb 插件进行了一些 vibe coding。 生成的代码都可以通过 pyseekdb(seekdb 的 Python SDK)连接 seekdb 服务端直接运行,完全不需要调试,效果令人惊喜。
vibe coding 中最常用的编程语言,除了 Python,还有 JavaScript / TypeScript。 所以 seekdb 在支持 Python SDK 后,前几天又光速开源了 js 和 ts 的 SDK —— seekdb-js,内置语义搜索功能,可与 seekdb 和 OceanBase 无缝协作。今天就在这篇文章中为大家介绍一下。

为什么选择 seekdb-js?
自动向量化:自动化 embedding 生成,无需手动计算向量
语义搜索:支持为自然语言查询提供向量相似性搜索
混合搜索:同时支持关键词匹配和语义搜索
多种 embedding 服务:同时支持本地和云端的 embedding 服务
原生 TypeScript支持:提供完整的 TypeScript 支持和类型定义
Packages
seekdb-js 仓库包含以下内容:

安装
使用SDK之前,需要先部署seekdb。请参考官方部署文档[1]。

快速上手
使用指南
客户端连接

创建 collection

添加数据
支持自动向量化,无需手动计算向量。

查询数据
语义搜索

混合搜索(关键词 + 语义)

Embedding 方式
seekdb-js 这个 SDK 支持多种 Embedding 方式,可以选择在本地或云端生成向量。
默认的 Embedding 方式
默认使用本地模型(Xenova/all-MiniLM-L6-v2),无需 API Key,适合快速开发和测试。
使用默认模型无需任何配置:

手动导入内置模型:

Qwen Embedding
实验性 API:QwenEmbeddingFunction目前为实验性功能,未来版本可能会有所更改。
可以使用 DashScope 的云端 Embedding 服务(Qwen / 通义千问),适用于生产环境。

OpenAI Embedding
实验性 API:OpenAIEmbeddingFunction目前为实验性功能,未来版本可能会有所更改。
可以使用 OpenAI 的 Embedding API,适用于与 OpenAI 集成的生产环境。

Jina Embedding
开发中:JinaEmbeddingFunction正在光速开发中,API 在未来的版本中可能会发生更新。
使用 Jina AI 的 Embedding API,支持多模态嵌入。

自定义 Embedding 方法
实验性 API:这些registerEmbeddingFunctionAPIgetEmbeddingFunction目前处于实验阶段,未来版本可能会有所更改。

除了上面这些 Embedding 方法以外,也支持使用自定义的 Embedding 函数。
首先,需要实现一个 EmbeddingFunction 接口:

然后注册即可使用:

数据库管理
支持通过 SeekdbAdminClient 来管理数据库(创建、查询、删除)。

使用示例
直接去 github 中的 example 目录[2]获取完整的使用示例吧!
基本用法 —— simple-example.ts[3]
所有功能 —— complete-example.ts[4]
混合搜索 —— hybrid-search-example.ts[5]
如果要运行示例,可以参考 Run Examples[6] 部分。
参考资料
[1]
官方部署文档: https://www.oceanbase.ai/docs/deploy-overview/
[2]
github 中的 example 目录: https://github.com/oceanbase/seekdb-js/tree/main/examples
[3]
simple-example.ts: https://github.com/oceanbase/seekdb-js/blob/main/examples/simple-example.ts
[4]
complete-example.ts: https://github.com/oceanbase/seekdb-js/blob/main/examples/complete-example.ts
[5]
hybrid-search-example.ts: https://github.com/oceanbase/seekdb-js/blob/main/examples/hybrid-search-example.ts
[6]
Run Examples: https://github.com/oceanbase/seekdb-js/blob/main/DEVELOP.md#run-examples
欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/
浙公网安备 33010602011771号