MiniCPM-V 2.6 本地部署 出现ERROR: Exception in ASGI application错误

ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/MiniCMP/lib/python3.10/site-packages/pydantic/type_adapter.py", line 270, in _init_core_attrs
    self._core_schema = _getattr_no_parents(self._type, '__pydantic_core_schema__')
  File "/MiniCMP/lib/python3.10/site-packages/pydantic/type_adapter.py", line 112, in _getattr_no_parents
    raise AttributeError(attribute)
AttributeError: __pydantic_core_schema__


 

gradio版本与pydantic版本不匹配

卸载原gradio,更新gradio版本

pip uninstall gradio

pip install gradio

### 解决 Gradio 本地 URL 访问时 ASGI 应用异常问题 当遇到 `pydantic.errors.PydanticSchemaGenerationError` 错误时,这通常意味着 Pydantic 在尝试自动生成模式验证逻辑时遇到了无法处理的情况。对于基于 FastAPI 或 Starlette 的应用程序,在集成 Gradio 并通过 ASGI 运行时可能会触发此类错误。 为了有效解决这个问题,可以采取以下措施: #### 修改依赖注入方式 如果是在定义 API 路由处理器中直接使用了来自请求对象的数据结构作为参数,则应调整为手动解析 HTTP 请求体并转换成目标数据模型实例的方式[^1]。 ```python from fastapi import Request, Depends from pydantic import BaseModel class MyData(BaseModel): name: str age: int async def parse_body(request: Request) -> MyData: raw_data = await request.json() return MyData(**raw_data) @app.post("/submit") async def submit(data: MyData = Depends(parse_body)): # 处理 data... pass ``` #### 更新库版本 确保所使用的 Pydantic 和其他相关框架均为最新稳定版,因为开发者可能已经在后续更新中修复了该 bug。 #### 自定义 JSON 编解码器 有时默认的编码机制可能导致某些复杂类型的序列化失败,为此可实现自定义编解码方法来绕过潜在冲突点。 ```python import json from typing import Any def custom_json_dumps(v: Any, *, default) -> str: try: return json.dumps(v, default=default) except TypeError: return json.dumps({"error": "Failed to serialize object."}) app = FastAPI(default_response_class=JSONResponse) app.json_encoder = custom_json_dumps ``` #### 配置环境变量 检查运行环境中是否存在影响中间件行为设置项,并适当调整以适应当前项目需求。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值