basic llm request stream
This commit is contained in:
1 parent
f74e4d1043
commit
a92cc76a9a
66 files changed
+1496
-158
No files matched your search
+21
-12
@@ -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")
|
||||
|
||||
Reference in new issue
Block a user