KAG icon indicating copy to clipboard operation
KAG copied to clipboard

[Bug] [通用配置] PemjaUtils.invoke Exception uniqueKey:SPGServerBridge

Open maxma1973-github opened this issue 7 months ago • 7 comments

Search before asking

  • [x] I had searched in the issues and found no similar issues.

Operating system information

Windows

What happened

我使用docker部署的,设置通用配置的时候,也使用了curl测试了连通性,是没有问题的,但是在保存配置的时候,有报错,报错信息如下: 是哪里的问题呢?

感谢!

2025-06-13 21:32:51.576 | java.lang.RuntimeException: PemjaUtils.invoke Exception uniqueKey:SPGServerBridge_acfb365f819e9cba2ce26d7127e43f30 2025-06-13 21:32:51.576 | at com.antgroup.openspg.common.util.pemja.PemjaUtils.lambda$invoke$1(PemjaUtils.java:88) 2025-06-13 21:32:51.576 | at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) 2025-06-13 21:32:51.576 | at com.github.rholder.retry.Retryer.call(Retryer.java:160) 2025-06-13 21:32:51.576 | at com.antgroup.openspg.common.util.pemja.PemjaUtils.invoke(PemjaUtils.java:55) 2025-06-13 21:32:51.576 | at com.antgroup.openspgapp.core.reasoner.service.utils.Utils.checkVectorizer(Utils.java:39) 2025-06-13 21:32:51.576 | at com.antgroup.openspgapp.api.http.server.config.ConfigController$3.check(ConfigController.java:151) 2025-06-13 21:32:51.576 | at com.antgroup.openspg.server.api.http.server.HttpBizTemplate.execute2(HttpBizTemplate.java:77) 2025-06-13 21:32:51.576 | at com.antgroup.openspgapp.api.http.server.config.ConfigController.update(ConfigController.java:120) 2025-06-13 21:32:51.576 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2025-06-13 21:32:51.576 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 2025-06-13 21:32:51.576 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 2025-06-13 21:32:51.576 | at java.lang.reflect.Method.invoke(Method.java:498) 2025-06-13 21:32:51.576 | at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) 2025-06-13 21:32:51.576 | at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) 2025-06-13 21:32:51.576 | at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) 2025-06-13 21:32:51.576 | at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) 2025-06-13 21:32:51.576 | at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) 2025-06-13 21:32:51.576 | at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) 2025-06-13 21:32:51.576 | at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) 2025-06-13 21:32:51.576 | at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) 2025-06-13 21:32:51.576 | at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) 2025-06-13 21:32:51.576 | at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920) 2025-06-13 21:32:51.576 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:699) 2025-06-13 21:32:51.576 | at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) 2025-06-13 21:32:51.576 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) 2025-06-13 21:32:51.576 | at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) 2025-06-13 21:32:51.576 | at com.antgroup.openspgapp.api.http.server.filter.AclFilter.doFilter(AclFilter.java:146) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) 2025-06-13 21:32:51.576 | at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) 2025-06-13 21:32:51.576 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) 2025-06-13 21:32:51.576 | at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) 2025-06-13 21:32:51.576 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) 2025-06-13 21:32:51.576 | at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96) 2025-06-13 21:32:51.576 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) 2025-06-13 21:32:51.576 | at com.alipay.sofa.tracer.plugins.springmvc.SpringMvcSofaTracerFilter.doFilter(SpringMvcSofaTracerFilter.java:87) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) 2025-06-13 21:32:51.576 | at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) 2025-06-13 21:32:51.576 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) 2025-06-13 21:32:51.576 | at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) 2025-06-13 21:32:51.576 | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) 2025-06-13 21:32:51.576 | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) 2025-06-13 21:32:51.576 | at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) 2025-06-13 21:32:51.576 | at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) 2025-06-13 21:32:51.576 | at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) 2025-06-13 21:32:51.576 | at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:891) 2025-06-13 21:32:51.576 | at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1784) 2025-06-13 21:32:51.576 | at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 2025-06-13 21:32:51.576 | at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) 2025-06-13 21:32:51.576 | at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) 2025-06-13 21:32:51.576 | at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 2025-06-13 21:32:51.576 | at java.lang.Thread.run(Thread.java:750) 2025-06-13 21:32:51.576 | Caused by: java.util.concurrent.ExecutionException: pemja.core.PythonException: <class 'RuntimeError'>: invalid vectorizer config: object of type 'NoneType' has no len() 2025-06-13 21:32:51.576 | at java.util.concurrent.FutureTask.report(FutureTask.java:122) 2025-06-13 21:32:51.576 | at java.util.concurrent.FutureTask.get(FutureTask.java:206) 2025-06-13 21:32:51.576 | at com.antgroup.openspg.common.util.pemja.PemjaUtils.lambda$invoke$1(PemjaUtils.java:65) 2025-06-13 21:32:51.576 | ... 67 common frames omitted 2025-06-13 21:32:51.576 | Caused by: pemja.core.PythonException: <class 'RuntimeError'>: invalid vectorizer config: object of type 'NoneType' has no len() 2025-06-13 21:32:51.576 | at /home/admin/miniconda3/lib/python3.10/site-packages/kag/bridge/spg_server_bridge.run_vectorizer_config_check(spg_server_bridge.py:123) 2025-06-13 21:32:51.576 | at /home/admin/miniconda3/lib/python3.10/site-packages/kag/common/vectorize_model/vectorize_model_config_checker.check(vectorize_model_config_checker.py:47) 2025-06-13 21:32:51.576 | at pemja.core.PythonInterpreter.invokeMethodOneArgString(Native Method) 2025-06-13 21:32:51.576 | at pemja.core.PythonInterpreter.invokeMethodOneArg(PythonInterpreter.java:212) 2025-06-13 21:32:51.576 | at pemja.core.PythonInterpreter.invokeMethod(PythonInterpreter.java:116) 2025-06-13 21:32:51.576 | at com.antgroup.openspg.common.util.pemja.PemjaUtils.lambda$null$0(PemjaUtils.java:63) 2025-06-13 21:32:51.576 | at java.util.concurrent.FutureTask.run(FutureTask.java:266) 2025-06-13 21:32:51.576 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 2025-06-13 21:32:51.576 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 2025-06-13 21:32:51.576 | ... 1 common frames omitted

How to reproduce

Windows docker 部署,保存配置。

Are you willing to submit PR?

  • [ ] Yes I am willing to submit a PR!

maxma1973-github avatar Jun 13 '25 14:06 maxma1973-github

我也有类似的错误,当我尝试将另一个 chat model 设置默认时 以及 在构建知识库时选择非默认chat模型:

java.lang.RuntimeException: PemjaUtils.invoke Exception uniqueKey:SPGServerBridge_39c18485a664fe6ed93b6981e41d720c release-openspg-server | at com.antgroup.openspg.common.util.pemja.PemjaUtils.lambda$invoke$1(PemjaUtils.java:88) release-openspg-server | at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) release-openspg-server | at com.github.rholder.retry.Retryer.call(Retryer.java:160)

...

Caused by: pemja.core.PythonException: <class 'RuntimeError'>: invalid llm config: {'__customParamKeys': ['extra_body'], 'creator': 'openspg', 'default': True, 'createTime': '2025-06-15 23:29:24', 'base_url': 'http://172.xx.xxx.51:11434', 'model': 'qwen3:32b ', 'extra_body': '{"chat_template_kwargs": {"enable_thinking": False}}', 'type': 'ollama', 'llm_id': '3e6cb546-d9d1-4a22-bc21-5d7396430862', 'desc': 'ollama-qwen3 32b'}, for details: model is required (status code: 400) at /home/admin/miniconda3/lib/python3.10/site-packages/kag/bridge/spg_server_bridge.run_llm_config_check(spg_server_bridge.py:116) release-openspg-server | at /home/admin/miniconda3/lib/python3.10/site-packages/kag/common/llm/llm_config_checker.check(llm_config_checker.py:42) release-openspg-server | at pemja.core.PythonInterpreter.invokeMethodOneArgString(Native Method) release-openspg-server | at pemja.core.PythonInterpreter.invokeMethodOneArg(PythonInterpreter.java:212) release-openspg-server | at pemja.core.PythonInterpreter.invokeMethod(PythonInterpreter.java:116) release-openspg-server | at com.antgroup.openspg.common.util.pemja.PemjaUtils.lambda$null$0(PemjaUtils.java:63) release-openspg-server | at java.util.concurrent.FutureTask.run(FutureTask.java:266) release-openspg-server | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) release-openspg-server | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) release-openspg-server | ... 1 common frames omitted

cllarisy avatar Jun 15 '25 15:06 cllarisy

How to solve? Face the same issue.

wertyac avatar Jun 23 '25 15:06 wertyac

PemjaUtils.invoke Exception uniqueKey:SPGServerBridge_b0658c4aa6099f488ab727f90d165203

TmacChenQian avatar Jun 24 '25 01:06 TmacChenQian

我出现过一次这个问题,但是从我的排查报错内容来看,我是因为pandas读取不到csv(因为pandas读取格式进支持c引擎,也就是仅有utf-8才可用,如果换成openpyxl则不会有此问题)是编码问题导致读物不到内容,进而导致没有内容传到openspg的java代码中,进而导致java的PythonOperatorFactory类错误(PemjaUtils.invoke的错误来源),所以,需要排查的问题一个是apikey和base_url是否可用(且有没有受限,硅基流动有流量评级,评级低的受限较容易出现),第二个是上传的文件是否触发KAG的代码的bug

duxiao19931008 avatar Jun 24 '25 05:06 duxiao19931008

我是在上传知识库处理数据的reader阶段就报这样的错误是为什么呢

KsThk1 avatar Jun 24 '25 06:06 KsThk1

我在添加模型的时候碰到了

acoder99-art avatar Jun 26 '25 03:06 acoder99-art

当我从docker中删除这个容器,重新下载问题就解决了

KsThk1 avatar Jun 26 '25 03:06 KsThk1