init push
This commit is contained in:
18
backend/cmd/consumer/main.go
Normal file
18
backend/cmd/consumer/main.go
Normal file
@@ -0,0 +1,18 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
)
|
||||
|
||||
func main() {
|
||||
app, err := createApp()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if err := app.MQConsumer.StartConsumerHandlers(context.Background()); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if err := app.MQConsumer.Close(); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
31
backend/cmd/consumer/wire.go
Normal file
31
backend/cmd/consumer/wire.go
Normal file
@@ -0,0 +1,31 @@
|
||||
//go:build wireinject
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/google/wire"
|
||||
|
||||
"github.com/chaitin/panda-wiki/config"
|
||||
handler "github.com/chaitin/panda-wiki/handler/mq"
|
||||
"github.com/chaitin/panda-wiki/log"
|
||||
"github.com/chaitin/panda-wiki/mq"
|
||||
)
|
||||
|
||||
func createApp() (*App, error) {
|
||||
wire.Build(
|
||||
wire.Struct(new(App), "*"),
|
||||
wire.NewSet(
|
||||
config.ProviderSet,
|
||||
log.ProviderSet,
|
||||
handler.ProviderSet,
|
||||
),
|
||||
)
|
||||
return &App{}, nil
|
||||
}
|
||||
|
||||
type App struct {
|
||||
MQConsumer mq.MQConsumer
|
||||
Config *config.Config
|
||||
MQHandlers *handler.MQHandlers
|
||||
StatCronHandler *handler.CronHandler
|
||||
}
|
||||
113
backend/cmd/consumer/wire_gen.go
Normal file
113
backend/cmd/consumer/wire_gen.go
Normal file
@@ -0,0 +1,113 @@
|
||||
// Code generated by Wire. DO NOT EDIT.
|
||||
|
||||
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
|
||||
//go:build !wireinject
|
||||
// +build !wireinject
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/chaitin/panda-wiki/config"
|
||||
mq3 "github.com/chaitin/panda-wiki/handler/mq"
|
||||
"github.com/chaitin/panda-wiki/log"
|
||||
"github.com/chaitin/panda-wiki/mq"
|
||||
cache2 "github.com/chaitin/panda-wiki/repo/cache"
|
||||
ipdb2 "github.com/chaitin/panda-wiki/repo/ipdb"
|
||||
mq2 "github.com/chaitin/panda-wiki/repo/mq"
|
||||
pg2 "github.com/chaitin/panda-wiki/repo/pg"
|
||||
"github.com/chaitin/panda-wiki/store/cache"
|
||||
"github.com/chaitin/panda-wiki/store/ipdb"
|
||||
"github.com/chaitin/panda-wiki/store/pg"
|
||||
"github.com/chaitin/panda-wiki/store/rag"
|
||||
"github.com/chaitin/panda-wiki/store/s3"
|
||||
"github.com/chaitin/panda-wiki/usecase"
|
||||
)
|
||||
|
||||
// Injectors from wire.go:
|
||||
|
||||
func createApp() (*App, error) {
|
||||
configConfig, err := config.NewConfig()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
logger := log.NewLogger(configConfig)
|
||||
mqConsumer, err := mq.NewMQConsumer(configConfig, logger)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
ragService, err := rag.NewRAGService(configConfig, logger)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
db, err := pg.NewDB(configConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
nodeRepository := pg2.NewNodeRepository(db, logger)
|
||||
knowledgeBaseRepository := pg2.NewKnowledgeBaseRepository(db, configConfig, logger, ragService)
|
||||
conversationRepository := pg2.NewConversationRepository(db, logger)
|
||||
modelRepository := pg2.NewModelRepository(db, logger)
|
||||
promptRepo := pg2.NewPromptRepo(db, logger)
|
||||
llmUsecase := usecase.NewLLMUsecase(configConfig, ragService, conversationRepository, knowledgeBaseRepository, nodeRepository, modelRepository, promptRepo, logger)
|
||||
mqProducer, err := mq.NewMQProducer(configConfig, logger)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
ragRepository := mq2.NewRAGRepository(mqProducer)
|
||||
systemSettingRepo := pg2.NewSystemSettingRepo(db, logger)
|
||||
modelUsecase := usecase.NewModelUsecase(modelRepository, nodeRepository, ragRepository, ragService, logger, configConfig, knowledgeBaseRepository, systemSettingRepo)
|
||||
ragmqHandler, err := mq3.NewRAGMQHandler(mqConsumer, logger, ragService, nodeRepository, knowledgeBaseRepository, llmUsecase, modelUsecase)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
ragDocUpdateHandler, err := mq3.NewRagDocUpdateHandler(mqConsumer, logger, nodeRepository)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
cacheCache, err := cache.NewCache(configConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
statRepository := pg2.NewStatRepository(db, cacheCache)
|
||||
appRepository := pg2.NewAppRepository(db, logger)
|
||||
ipdbIPDB, err := ipdb.NewIPDB(configConfig, logger)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
ipAddressRepo := ipdb2.NewIPAddressRepo(ipdbIPDB, logger)
|
||||
geoRepo := cache2.NewGeoCache(cacheCache, db, logger)
|
||||
authRepo := pg2.NewAuthRepo(db, logger, cacheCache)
|
||||
statUseCase := usecase.NewStatUseCase(statRepository, nodeRepository, conversationRepository, appRepository, ipAddressRepo, geoRepo, authRepo, knowledgeBaseRepository, logger)
|
||||
navRepository := pg2.NewNavRepository(db, logger)
|
||||
userRepository := pg2.NewUserRepository(db, logger)
|
||||
minioClient, err := s3.NewMinioClient(configConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
nodeUsecase := usecase.NewNodeUsecase(nodeRepository, navRepository, appRepository, ragRepository, userRepository, knowledgeBaseRepository, llmUsecase, ragService, logger, minioClient, modelRepository, authRepo, modelUsecase)
|
||||
cronHandler, err := mq3.NewCronHandler(logger, statRepository, nodeRepository, statUseCase, nodeUsecase)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
mqHandlers := &mq3.MQHandlers{
|
||||
RAGMQHandler: ragmqHandler,
|
||||
RagDocUpdateHandler: ragDocUpdateHandler,
|
||||
StatCronHandler: cronHandler,
|
||||
}
|
||||
app := &App{
|
||||
MQConsumer: mqConsumer,
|
||||
Config: configConfig,
|
||||
MQHandlers: mqHandlers,
|
||||
StatCronHandler: cronHandler,
|
||||
}
|
||||
return app, nil
|
||||
}
|
||||
|
||||
// wire.go:
|
||||
|
||||
type App struct {
|
||||
MQConsumer mq.MQConsumer
|
||||
Config *config.Config
|
||||
MQHandlers *mq3.MQHandlers
|
||||
StatCronHandler *mq3.CronHandler
|
||||
}
|
||||
Reference in New Issue
Block a user