diff --git a/backend/application/base/appinfra/app_infra.go b/backend/application/base/appinfra/app_infra.go index 4cb3f073..d516d4d0 100644 --- a/backend/application/base/appinfra/app_infra.go +++ b/backend/application/base/appinfra/app_infra.go @@ -89,44 +89,44 @@ func Init(ctx context.Context) (*AppDependencies, error) { deps.DB, err = mysql.New() if err != nil { - return nil, err + return nil, fmt.Errorf("init db failed, err=%w", err) } deps.CacheCli = redis.New() deps.IDGenSVC, err = idgen.New(deps.CacheCli) if err != nil { - return nil, err + return nil, fmt.Errorf("init id gen svc failed, err=%w", err) } deps.ESClient, err = es.New() if err != nil { - return nil, err + return nil, fmt.Errorf("init es client failed, err=%w", err) } deps.ImageXClient, err = initImageX(ctx) if err != nil { - return nil, err + return nil, fmt.Errorf("init imagex client failed, err=%w", err) } deps.TOSClient, err = initTOS(ctx) if err != nil { - return nil, err + return nil, fmt.Errorf("init tos client failed, err=%w", err) } deps.ResourceEventProducer, err = initResourceEventBusProducer() if err != nil { - return nil, err + return nil, fmt.Errorf("init resource event bus producer failed, err=%w", err) } deps.AppEventProducer, err = initAppEventProducer() if err != nil { - return nil, err + return nil, fmt.Errorf("init app event producer failed, err=%w", err) } deps.ModelMgr, err = initModelMgr() if err != nil { - return nil, err + return nil, fmt.Errorf("init model manager failed, err=%w", err) } deps.CodeRunner = initCodeRunner() @@ -135,19 +135,17 @@ func Init(ctx context.Context) (*AppDependencies, error) { imageAnnotationModel, _, err := internal.GetBuiltinChatModel(ctx, "IA_") if err != nil { - return nil, err + return nil, fmt.Errorf("get builtin chat model failed, err=%w", err) } - deps.ParserManager = initParserManager(deps.TOSClient, deps.OCR, imageAnnotationModel) - - deps.SearchStoreManagers, err = initSearchStoreManagers(ctx, deps.ESClient) + deps.ParserManager, err = initParserManager(deps.TOSClient, deps.OCR, imageAnnotationModel) if err != nil { - return nil, err + return nil, fmt.Errorf("init parser manager failed, err=%w", err) } deps.SearchStoreManagers, err = initSearchStoreManagers(ctx, deps.ESClient) if err != nil { - return nil, err + return nil, fmt.Errorf("init search store managers failed, err=%w", err) } return deps, nil @@ -267,10 +265,12 @@ func initOCR() ocr.OCR { return ocr } -func initParserManager(storage storage.Storage, ocr ocr.OCR, imageAnnotationModel chatmodel.BaseChatModel) parser.Manager { +func initParserManager(storage storage.Storage, ocr ocr.OCR, imageAnnotationModel chatmodel.BaseChatModel) (parser.Manager, error) { var parserManager parser.Manager parserType := os.Getenv(consts.ParserType) switch parserType { + case "builtin", "": + parserManager = builtin.NewManager(storage, ocr, imageAnnotationModel) case "paddleocr": url := os.Getenv(consts.PPStructureAPIURL) client := &http.Client{} @@ -280,10 +280,10 @@ func initParserManager(storage storage.Storage, ocr ocr.OCR, imageAnnotationMode } parserManager = ppstructure.NewManager(apiConfig, ocr, storage, imageAnnotationModel) default: - parserManager = builtin.NewManager(storage, ocr, imageAnnotationModel) + return nil, fmt.Errorf("parser type %s not supported", parserType) } - return parserManager + return parserManager, nil } func getVectorStore(ctx context.Context) (searchstore.Manager, error) { diff --git a/backend/go.mod b/backend/go.mod index c7cfab80..f06a9352 100755 --- a/backend/go.mod +++ b/backend/go.mod @@ -11,7 +11,7 @@ require ( github.com/apache/rocketmq-client-go/v2 v2.1.3-0.20250427084711-67ec50b93040 github.com/apache/thrift v0.21.0 github.com/bytedance/mockey v1.2.14 - github.com/bytedance/sonic v1.13.2 + github.com/bytedance/sonic v1.14.0 github.com/cloudwego/eino v0.3.55 github.com/cloudwego/eino-ext/components/model/ark v0.1.15 github.com/cloudwego/eino-ext/components/model/claude v0.1.1 @@ -128,7 +128,7 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/bytedance/gopkg v0.1.1 - github.com/bytedance/sonic/loader v0.2.4 // indirect + github.com/bytedance/sonic/loader v0.3.0 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cilium/ebpf v0.11.0 // indirect diff --git a/backend/go.sum b/backend/go.sum index 24568a42..39e3cc96 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -890,11 +890,11 @@ github.com/bytedance/mockey v1.2.14 h1:KZaFgPdiUwW+jOWFieo3Lr7INM1P+6adO3hxZhDsw github.com/bytedance/mockey v1.2.14/go.mod h1:1BPHF9sol5R1ud/+0VEHGQq/+i2lN+GTsr3O2Q9IENY= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.8.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= -github.com/bytedance/sonic v1.13.2 h1:8/H1FempDZqC4VqjptGo14QQlJx8VdZJegxs6wwfqpQ= -github.com/bytedance/sonic v1.13.2/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4= +github.com/bytedance/sonic v1.14.0 h1:/OfKt8HFw0kh2rj8N0F6C/qPGRESq0BbaNZgcNXXzQQ= +github.com/bytedance/sonic v1.14.0/go.mod h1:WoEbx8WTcFJfzCe0hbmyTGrfjt8PzNEBdxlNUO24NhA= github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= -github.com/bytedance/sonic/loader v0.2.4 h1:ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY= -github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= +github.com/bytedance/sonic/loader v0.3.0 h1:dskwH8edlzNMctoruo8FPTJDF3vLtDT0sXZwvZJyqeA= +github.com/bytedance/sonic/loader v0.3.0/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI= github.com/casbin/casbin/v2 v2.37.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=