feat: rag初始版
This commit is contained in:
64
main.go
Normal file
64
main.go
Normal file
@@ -0,0 +1,64 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"os"
|
||||
"os/signal"
|
||||
"rag/consts/public"
|
||||
"rag/controller"
|
||||
"rag/service"
|
||||
"syscall"
|
||||
|
||||
"gitea.com/red-future/common/http"
|
||||
"gitea.com/red-future/common/jaeger"
|
||||
gmq "github.com/bjang03/gmq/core/gmq"
|
||||
"github.com/bjang03/gmq/mq"
|
||||
"github.com/bjang03/gmq/types"
|
||||
_ "github.com/gogf/gf/contrib/drivers/pgsql/v2"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
)
|
||||
|
||||
func main() {
|
||||
ctx := context.Background()
|
||||
defer jaeger.ShutDown(ctx)
|
||||
|
||||
// 注册路由
|
||||
http.RouteRegister([]interface{}{
|
||||
controller.Dataset,
|
||||
controller.Document,
|
||||
controller.DocumentChunk,
|
||||
})
|
||||
|
||||
gmq.Init("config.yml")
|
||||
|
||||
if err := gmq.GetGmq("primary").GmqSubscribe(ctx, &mq.RedisSubMessage{
|
||||
SubMessage: types.SubMessage{
|
||||
Topic: public.KnowledgeDocumentVectorStatusTopic,
|
||||
ConsumerName: public.KnowledgeDocumentVectorStatusConsumer,
|
||||
AutoAck: public.KnowledgeDocumentVectorStatusAutoAck,
|
||||
FetchCount: public.KnowledgeDocumentVectorStatusBatchSize,
|
||||
HandleFunc: service.Document.DocsVectorStatusMsg,
|
||||
},
|
||||
}); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if err := gmq.GetGmq("primary").GmqSubscribe(ctx, &mq.RedisSubMessage{
|
||||
SubMessage: types.SubMessage{
|
||||
Topic: public.KnowledgeDocumentChunkTopic,
|
||||
ConsumerName: public.KnowledgeDocumentChunkConsumer,
|
||||
AutoAck: public.KnowledgeDocumentChunkAutoAck,
|
||||
FetchCount: public.KnowledgeDocumentChunkBatchSize,
|
||||
HandleFunc: service.DocumentChunk.DocsChunkMsg,
|
||||
},
|
||||
}); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
// 等待退出信号
|
||||
quit := make(chan os.Signal, 1)
|
||||
signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
|
||||
<-quit
|
||||
|
||||
g.Log().Info(ctx, "服务正在关闭...")
|
||||
}
|
||||
Reference in New Issue
Block a user