basic llm request stream

This commit is contained in:
fabien committed 2026-09-22 21:15:23 +02:00
1 parent f74e4d1043
commit a92cc76a9a
66 files changed
+1496 -158

No files matched your search

+21 -12
View File
@@ -16,10 +16,11 @@ import (
"trankilou.fr/lassistanoque/backend/internal/adapter/file"
"trankilou.fr/lassistanoque/backend/internal/adapter/llm"
"trankilou.fr/lassistanoque/backend/internal/adapter/security"
"trankilou.fr/lassistanoque/backend/internal/brain"
"trankilou.fr/lassistanoque/backend/internal/http"
"trankilou.fr/lassistanoque/backend/internal/llmserver"
"trankilou.fr/lassistanoque/backend/internal/service/agent"
"trankilou.fr/lassistanoque/backend/internal/service/auth"
"trankilou.fr/lassistanoque/backend/internal/service/chat"
"trankilou.fr/lassistanoque/backend/internal/service/provider"
"trankilou.fr/lassistanoque/backend/internal/service/storage"
"trankilou.fr/lassistanoque/backend/internal/service/user"
@@ -67,6 +68,10 @@ func runServe() {
tokenManager := security.NewJwtTokenManager(12*time.Hour, 7*24*time.Hour, "lassistanoque")
pwdAuth := password.NewPasswordAuthenticator(tokenManager, db.UserRepository())
llmEngine := llm.NewAnyLLMEngine()
repoUser := db.UserRepository()
repoProvider := db.ProviderRepository()
repoAgent := db.AgentRepository()
repoChat := db.ChatRepository()
// services
authService := auth.NewService(
@@ -76,36 +81,40 @@ func runServe() {
"password": pwdAuth,
},
)
userService := user.NewService(db.UserRepository())
userService := user.NewService(repoUser)
storageService := storage.NewService(store)
providerService := provider.NewService(db.ProviderRepository(), db.UserRepository(), llmEngine)
agentService := agent.NewService(db.AgentRepository(), db.UserRepository())
providerService := provider.NewService(repoProvider, repoUser, llmEngine)
agentService := agent.NewService(repoAgent, repoUser)
chatService := chat.NewService(repoUser, repoAgent, repoProvider, repoChat, llmEngine)
// http server
router := http.NewRouter(http.Dependencies{
httpRouter := http.NewRouter(http.Dependencies{
StorageService: storageService,
AuthService: authService,
UserService: userService,
TokenManager: tokenManager,
ProviderService: providerService,
AgentService: agentService,
ChatService: chatService,
})
llms := llmserver.NewLLMServer(llmserver.Dependencies{})
brainRouter := brain.NewRouter(brain.Dependencies{
ChatRepository: db.ChatRepository(),
})
ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
defer stop()
// start LLM service
// start Brain router
go func() {
if err := llms.Start(); err != nil && !errors.Is(err, nethttp.ErrServerClosed) {
if err := brainRouter.Start(); err != nil && !errors.Is(err, nethttp.ErrServerClosed) {
slog.Error("failed to start llm server", "error", err)
}
}()
// start HTTP service
// start HTTP router
go func() {
if err := router.Start(); err != nil && !errors.Is(err, nethttp.ErrServerClosed) {
if err := httpRouter.Start(); err != nil && !errors.Is(err, nethttp.ErrServerClosed) {
slog.Error("failed to start http server", "error", err)
}
}()
@@ -115,7 +124,7 @@ func runServe() {
// stop HTTP service
ctx, cancel1 := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel1()
if err := router.Stop(ctx); err != nil {
if err := httpRouter.Stop(ctx); err != nil {
slog.Error("failed to stop http server", "error", err)
}
slog.Info("HTTP server stopped gracefully")
@@ -123,7 +132,7 @@ func runServe() {
// stop LLM service
ctx, cancel2 := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel2()
if err := llms.Stop(ctx); err != nil {
if err := brainRouter.Stop(ctx); err != nil {
slog.Error("failed to stop llm server", "error", err)
}
slog.Info("LLM server stopped gracefully")