Junyan Qin (Chin) ce82f87e43 feat: add SeekDB vector database support for knowledge bases (#1814)
* feat: add SeekDB vector database support for knowledge bases

This commit adds complete integration of OceanBase's SeekDB as a vector
database option for LangBot's knowledge base feature.

## Changes

### Core Implementation
- Add SeekDB adapter implementing VectorDatabase interface
  - Support both embedded and server deployment modes
  - HNSW indexing with cosine similarity
  - Async operations with error handling
  - Comprehensive logging

### System Integration
- Register SeekDB in VectorDBManager
- Add pyseekdb>=0.1.0 dependency
- Add SeekDB configuration template
- Update README with vector database section

### Documentation
- Complete integration guide with platform compatibility warnings
- Configuration examples for all deployment modes
- Troubleshooting guide for common issues
- Code examples demonstrating usage patterns
- Comprehensive test reports and status documentation

## Testing

Architecture validated end-to-end using ChromaDB:
- File upload → parsing → chunking → embedding → storage
- 828 bytes → 3 chunks → 3 vectors stored successfully
- BGE-M3 model (384 dimensions)
- Status: Completed 

## Platform Compatibility

### Embedded Mode
-  Linux: Fully supported
-  macOS: Not supported (pylibseekdb is Linux-only)
-  Windows: Not supported (pylibseekdb is Linux-only)

### Server Mode
-  Linux: Fully supported
- ⚠️ macOS: Known issue (oceanbase/seekdb#36)
- ⚠️ Windows: Untested

### Remote Connection
-  All platforms supported

## Known Issues

macOS Docker server mode affected by upstream bug:
https://github.com/oceanbase/seekdb/issues/36

Workaround: Use ChromaDB/Qdrant or connect to remote SeekDB server.

## Files Added
- src/langbot/pkg/vector/vdbs/seekdb.py
- docs/SEEKDB_INTEGRATION.md
- examples/seekdb_example.py
- SEEKDB_INTEGRATION_SUMMARY.md
- SEEKDB_INTEGRATION_COMPLETE.md
- SEEKDB_TEST_STATUS.md
- SEEKDB_FINAL_SUMMARY.md
- SEEKDB_INTEGRATION_DONE.md
- GITHUB_ISSUE_36_COMMENT.md

## Files Modified
- src/langbot/pkg/vector/mgr.py
- src/langbot/pkg/vector/vdbs/__init__.py
- pyproject.toml
- src/langbot/templates/config.yaml
- README.md
- README_EN.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>

* chore: remove unused docs

* feature: minimal seekdb change (#1866)

* feat: add SeekDB embedding requester and configuration

This commit introduces a new SeekDB embedding requester, which utilizes the local embedding function from pyseekdb. It includes the necessary Python implementation and a corresponding YAML configuration file for integration. Additionally, a new SVG icon for SeekDB is added to enhance the visual representation in the UI.

* fix: update EmbeddingForm to conditionally render URL field based on model provider

This commit modifies the EmbeddingForm component to conditionally display the URL input field only when the current model provider is not 'seekdb-embedding'. Additionally, it updates the condition for rendering the API key field to exclude both 'ollama-chat' and 'seekdb-embedding' providers.

* chore: update Python version requirement in pyproject.toml to support Python 3.11

* fix: add config default value, when it makes fronted not show spec

* fix: seekdb.py clean metadata. change api

* fix: enhance error handling in SeekDB embedding initialization

This commit adds improved error handling to the SeekDB embedding function. It ensures that a RuntimeError is raised if the embedding function fails to initialize, and wraps the embedding call in a try-except block to catch and raise a RequesterError with a descriptive message in case of failure.

* refactor: update SeekDB database management to use AdminClient

This commit refactors the SeekDB database management logic to utilize the AdminClient for database operations. It replaces the previous temp_client with admin_client for listing and creating databases, ensuring a more robust interaction with the SeekDB API.

* refactor: update SeekDB embedding model initialization to use task manager

This commit refactors the SeekDB embedding model initialization by replacing the direct asyncio task creation with the task manager's create_task method. This change enhances task management and provides a clearer naming convention for the embedding model initialization task.

* perf: integration

* chore: remove unnecessary files

* fix: linter errors

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Happy <yesreply@happy.engineering>
Co-authored-by: 名为a的全局变量 <1051233107@qq.com>
2025-12-20 23:40:30 +08:00
2025-12-05 22:54:13 +08:00
2025-11-28 15:01:54 +08:00
2025-12-12 17:35:02 +08:00
2025-11-06 21:34:02 +08:00
2025-10-07 00:15:56 +08:00
2025-05-20 09:39:46 +08:00
2025-09-13 09:44:18 +08:00

LangBot

LangBot - Production-grade IM bot made easy. | Product Hunt

Quickly build, debug, and ship IM bots with LangBot.

English / 简体中文 / 繁體中文 / 日本語 / Español / Français / 한국어 / Русский / Tiếng Việt

Discord Ask DeepWiki GitHub release (latest by date) python

Home Deployment Plugin Submit Plugin

📦 Getting Started

Quick Start

Use uvx to start with one command (need to install uv):

uvx langbot

Visit http://localhost:5300 to start using it.

Docker Compose Deployment

git clone https://github.com/langbot-app/LangBot
cd LangBot/docker
docker compose up -d

Visit http://localhost:5300 to start using it.

Detailed documentation Docker Deployment.

One-click Deployment on BTPanel

LangBot has been listed on the BTPanel, if you have installed the BTPanel, you can use the document to use it.

Zeabur Cloud Deployment

Community contributed Zeabur template.

Deploy on Zeabur

Railway Cloud Deployment

Deploy on Railway

Other Deployment Methods

Directly use the released version to run, see the Manual Deployment documentation.

Kubernetes Deployment

Refer to the Kubernetes Deployment documentation.

😎 Stay Ahead

Click the Star and Watch button in the upper right corner of the repository to get the latest updates.

star gif

Features

  • 💬 Chat with LLM / Agent: Supports multiple LLMs, adapt to group chats and private chats; Supports multi-round conversations, tool calls, multi-modal, and streaming output capabilities. Built-in RAG (knowledge base) implementation, and deeply integrates with Dify, Coze, n8n etc. LLMOps platforms.
  • 🤖 Multi-platform Support: Currently supports QQ, QQ Channel, WeCom, personal WeChat, Lark, DingTalk, Discord, Telegram, KOOK, Slack, LINE, etc.
  • 🛠️ High Stability, Feature-rich: Native access control, rate limiting, sensitive word filtering, etc. mechanisms; Easy to use, supports multiple deployment methods. Supports multiple pipeline configurations, different bots can be used for different scenarios.
  • 🧩 Plugin Extension, Active Community: High stability, high security production-level plugin system; Support event-driven, component extension, etc. plugin mechanisms; Integrate Anthropic MCP protocol; Currently has hundreds of plugins.
  • 😻 Web UI: Support management LangBot instance through the browser. No need to manually write configuration files.

For more detailed specifications, please refer to the documentation.

Or visit the demo environment: https://demo.langbot.dev/

  • Login information: Email: demo@langbot.app Password: langbot123456
  • Note: For WebUI demo only, please do not fill in any sensitive information in the public environment.

Message Platform

Platform Status Remarks
Discord
Telegram
Slack
LINE
Personal QQ
QQ Official API
WeCom
WeComCS
WeCom AI Bot
Personal WeChat
Lark
DingTalk
KOOK

LLMs

LLM Status Remarks
OpenAI Available for any OpenAI interface format model
DeepSeek
Moonshot
Anthropic
xAI
Zhipu AI
CompShare LLM and GPU resource platform
Dify LLMOps platform
PPIO LLM and GPU resource platform
接口 AI LLM aggregation platform, dedicated to global LLMs
ShengSuanYun LLM and GPU resource platform
302.AI LLM gateway(MaaS)
Google Gemini
Ollama Local LLM running platform
LMStudio Local LLM running platform
GiteeAI LLM interface gateway(MaaS)
SiliconFlow LLM gateway(MaaS)
Aliyun Bailian LLM gateway(MaaS), LLMOps platform
Volc Engine Ark LLM gateway(MaaS), LLMOps platform
ModelScope LLM gateway(MaaS)
MCP Support tool access through MCP protocol

🤝 Community Contribution

Thank you for the following code contributors and other members in the community for their contributions to LangBot:

Languages
Python 63.8%
TypeScript 34.6%
JavaScript 1%
CSS 0.4%
Shell 0.1%