feat: add LanceDB vector database provider

- Implemented LanceDBProvider for managing vector collections, including methods for creating, deleting, and searching collections.
- Added support for LanceDB configuration in VectorDBConfig.
- Introduced stub for LanceDB provider when not built with the appropriate tag.
- Updated provider initialization to include LanceDB as a supported type.
- Created types and interfaces for vector operations, including Vector, SearchRequest, and SearchResult.
- Added tests for VectorDBConfig unmarshalling and for ensuring proper error handling when LanceDB is not built.
- Updated enums to include LanceDB type and labels.
- Modified frontend enums to reflect the addition of LanceDB.
This commit is contained in:
mlogclub
2026-06-07 17:32:29 +08:00
parent 3439d20537
commit c3387ec4a9
15 changed files with 711 additions and 77 deletions
+4
View File
@@ -347,10 +347,12 @@ export const StatusLabels: Record<Status, string> = {
export enum ThirdProvider {
WxWork = "wxwork",
Dingtalk = "dingtalk",
OIDC = "oidc",
}
export const ThirdProviderLabels: Record<ThirdProvider, string> = {
[ThirdProvider.WxWork]: "企业微信",
[ThirdProvider.Dingtalk]: "钉钉",
[ThirdProvider.OIDC]: "OIDC",
}
export enum TicketStatus {
@@ -366,7 +368,9 @@ export const TicketStatusLabels: Record<TicketStatus, string> = {
export enum VectorDBType {
Qdrant = "qdrant",
LanceDB = "lancedb",
}
export const VectorDBTypeLabels: Record<VectorDBType, string> = {
[VectorDBType.Qdrant]: "Qdrant",
[VectorDBType.LanceDB]: "LanceDB",
}