mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-06-29 15:31:05 +08:00
Feat: add skills space to context engine (#13908)
### What problem does this PR solve? issue #13714 ### Type of change - [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
"syscall"
|
||||
|
||||
"ragflow/internal/cli"
|
||||
"ragflow/internal/logger"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@@ -17,6 +18,15 @@ func main() {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// Initialize logger with appropriate level
|
||||
logLevel := "warn" // Default to warn (quiet mode)
|
||||
if args.Verbose {
|
||||
logLevel = "info"
|
||||
}
|
||||
if err := logger.Init(logLevel); err != nil {
|
||||
fmt.Printf("Warning: Failed to initialize logger: %v\n", err)
|
||||
}
|
||||
|
||||
// Show help and exit
|
||||
if args.ShowHelp {
|
||||
cli.PrintUsage()
|
||||
@@ -181,6 +181,9 @@ func startServer(config *server.Config) {
|
||||
memoryService := service.NewMemoryService()
|
||||
modelProviderService := service.NewModelProviderService()
|
||||
|
||||
// Initialize doc engine for skill search
|
||||
docEngine := engine.Get()
|
||||
|
||||
// Initialize handler layer
|
||||
authHandler := handler.NewAuthHandler()
|
||||
userHandler := handler.NewUserHandler(userService)
|
||||
@@ -197,10 +200,11 @@ func startServer(config *server.Config) {
|
||||
searchHandler := handler.NewSearchHandler(searchService, userService)
|
||||
fileHandler := handler.NewFileHandler(fileService, userService)
|
||||
memoryHandler := handler.NewMemoryHandler(memoryService)
|
||||
skillSearchHandler := handler.NewSkillSearchHandler(docEngine)
|
||||
providerHandler := handler.NewProviderHandler(userService, modelProviderService)
|
||||
|
||||
// Initialize router
|
||||
r := router.NewRouter(authHandler, userHandler, tenantHandler, documentHandler, datasetsHandler, systemHandler, kbHandler, chunkHandler, llmHandler, chatHandler, chatSessionHandler, connectorHandler, searchHandler, fileHandler, memoryHandler, providerHandler)
|
||||
r := router.NewRouter(authHandler, userHandler, tenantHandler, documentHandler, datasetsHandler, systemHandler, kbHandler, chunkHandler, llmHandler, chatHandler, chatSessionHandler, connectorHandler, searchHandler, fileHandler, memoryHandler, skillSearchHandler, providerHandler)
|
||||
|
||||
// Create Gin engine
|
||||
ginEngine := gin.New()
|
||||
@@ -214,11 +218,15 @@ func startServer(config *server.Config) {
|
||||
// Setup routes
|
||||
r.Setup(ginEngine)
|
||||
|
||||
// Create HTTP server
|
||||
// Create HTTP server with timeouts to prevent slow clients from blocking shutdown
|
||||
addr := fmt.Sprintf(":%d", config.Server.Port)
|
||||
srv := &http.Server{
|
||||
Addr: addr,
|
||||
Handler: ginEngine,
|
||||
Addr: addr,
|
||||
Handler: ginEngine,
|
||||
ReadHeaderTimeout: 10 * time.Second,
|
||||
ReadTimeout: 60 * time.Second,
|
||||
WriteTimeout: 120 * time.Second,
|
||||
IdleTimeout: 120 * time.Second,
|
||||
}
|
||||
|
||||
// Start server in a goroutine
|
||||
|
||||
Reference in New Issue
Block a user