feat: add knowledge management functionality with CRUD operations and database schema
- Implemented KnowledgeHandler for managing knowledge groups and items, including listing, creating, updating, and deleting operations. - Added database migration scripts to create necessary tables for knowledge management, including knowledge_groups, knowledge_items, knowledge_parse_tasks, and knowledge_chunks_meta. - Introduced prompt_rule_knowledge_groups table to associate prompt rules with knowledge groups.
This commit is contained in:
@@ -44,6 +44,51 @@ llm:
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadPrefersEnvRetrievalAndQdrantSettings(t *testing.T) {
|
||||
t.Setenv("SILICONFLOW_API_KEY", "siliconflow-env-key")
|
||||
t.Setenv("SILICONFLOW_EMBEDDING_MODEL", "env-embedding")
|
||||
t.Setenv("SILICONFLOW_RERANKER_MODEL", "env-reranker")
|
||||
t.Setenv("QDRANT_API_KEY", "qdrant-env-key")
|
||||
t.Setenv("QDRANT_URL", "qdrant-env:6334")
|
||||
t.Setenv("QDRANT_COLLECTION", "env_collection")
|
||||
|
||||
configPath := writeTestConfig(t, `
|
||||
qdrant:
|
||||
url: qdrant-config:6334
|
||||
api_key: "qdrant-config-key"
|
||||
collection: "config_collection"
|
||||
retrieval:
|
||||
provider: siliconflow
|
||||
api_key: "retrieval-config-key"
|
||||
embedding_model: "config-embedding"
|
||||
reranker_model: "config-reranker"
|
||||
`)
|
||||
|
||||
cfg, err := Load(configPath)
|
||||
if err != nil {
|
||||
t.Fatalf("Load() error = %v", err)
|
||||
}
|
||||
|
||||
if cfg.Retrieval.APIKey != "siliconflow-env-key" {
|
||||
t.Fatalf("expected env retrieval api key, got %q", cfg.Retrieval.APIKey)
|
||||
}
|
||||
if cfg.Retrieval.EmbeddingModel != "env-embedding" {
|
||||
t.Fatalf("expected env embedding model, got %q", cfg.Retrieval.EmbeddingModel)
|
||||
}
|
||||
if cfg.Retrieval.RerankerModel != "env-reranker" {
|
||||
t.Fatalf("expected env reranker model, got %q", cfg.Retrieval.RerankerModel)
|
||||
}
|
||||
if cfg.Qdrant.APIKey != "qdrant-env-key" {
|
||||
t.Fatalf("expected env qdrant api key, got %q", cfg.Qdrant.APIKey)
|
||||
}
|
||||
if cfg.Qdrant.URL != "qdrant-env:6334" {
|
||||
t.Fatalf("expected env qdrant url, got %q", cfg.Qdrant.URL)
|
||||
}
|
||||
if cfg.Qdrant.Collection != "env_collection" {
|
||||
t.Fatalf("expected env qdrant collection, got %q", cfg.Qdrant.Collection)
|
||||
}
|
||||
}
|
||||
|
||||
func writeTestConfig(t *testing.T, body string) string {
|
||||
t.Helper()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user