PyCharm 调试 Xinference 遇到问题及解决方案

ops/2024/9/24 2:09:48/

本文使用的 PyCharm 2024.2.1 版本,如果使用低版本 PyCharm,那么在调试 Xinference v0.15.1 源码时可能会报错 Connection to Python debugger failed Socket closed

Xinference__2">一.PyCharm 调试 Xinference 源码

由于 Xinference 中的一些依赖包仅支持 Linux,所以在 PyCharm 调试 Xinference 源码时,最好使用 PyCharm+WSL2 环境,或者直接使用 PyCharm+Ubuntu 22.04 环境,以此实现 PyCharm 对 Xinference 源码调试。

1.环境配置

环境为 Python 3.10.12 版本,WSL2,如下所示:

根据配置文件 inference\setup.cfg 可知,debug 入口点为 inference/xinference/deploy/cmdline.py。如下所示:

Run/Debug Configuration 参数及配置,如下所示:

2.运行前端代码

npm install  # 安装依赖包
npm run start  # 实际执行react-scripts start

自动打开链接 http://localhost:3000/#/launch_model/llm,如下所示:

3.运行后端代码

点击 Debug 调试 Xinference 源码,如下所示:

如果调试后端代码时遇到相对路径相关问题,那么修改为完整路径即可。如下所示:

(1)inference\xinference\deploy\cmdline.py

(2)inference\xinference\deploy\local.py

(3)inference\xinference\deploy\utils.py

(4)inference\xinference\deploy\worker.py

4.源码修改

比如,修改"Launch Model"为"启动模型",如下所示:

Web 前端页面也会跟随着相应变化,如下所示:

二.PyCharm+WSL2 调试遇到的问题

如果使用 PyCharm 版本过低,比如 PyCharm 2023.3.2。直接 Run 是可以的,但是 Debug 报错,如下所示:

Connection to Python debugger failed Socket closed

使用版本为 PyCharm 2023.3.2,如下所示:

报该错误可能是 PyCharm 本身的问题,解决方案是升级为最新的 PyCharm 2024.2.1 版本。

三.PyCharm+WSL2 安装和运行

源码编译安装,如下所示:

https://github.com/xorbitsai/inference
python setup.py install
xinference-local --host 0.0.0.0 --port 9997

打开链接 http://127.0.0.1/ui/#/cluster_info,如下所示:

参考文献

[1] Xorbits 官网:https://xorbits.cn/inference

[2] Xinference 官方文档:https://inference.readthedocs.io/zh-cn/latest/index.html

[3] Xorbits Inference GitHub:https://github.com/xorbitsai/inference

NLP工程化(星球号)


http://www.ppmy.cn/ops/115070.html

相关文章

C语言深入理解指针(二)

目录 指针运算指针-整数指针-指针指针的关系运算 野指针野指针成因指针未初始化指针越界访问指针指向的空间释放 如何规避野指针指针初始化注意指针越界指针不使用时就用NULL避免返回局部变量的地址 assert断言指针的使用和传址调用传址调用例子(strlen函数的实现&a…

常用卫星学习

文章目录 Landsat-8 Landsat-8 由一台操作陆地成像仪 (OLI) 和一台热红外传感器 (TIRS)的卫星,OLI 提供 9 个波段,覆盖 0.43–2.29 μm 的波长,其中全色波段(一般指0.5μm到0.75μm左…

【项目案例】物联网比较好的10+练手项目推荐,附项目文档/源码/视频

练手项目推荐 1 智能小车 项目功能介绍: 本项目由三部分组成:应用端(微信小程序)、设备端(Hi3861)、驱动端(UPS)。 1. 应用端,采用微信小程序作为应用端控制界面。在开…

修改Git配置信息:用户名

在Git中,用户名(user.name)和邮箱地址(user.email)是用于识别Git操作(如提交)的标识信息。如果你需要修改Git用户名,你可以通过Git命令行界面来修改这个设置。以下是具体的步骤&…

stm32单片机个人学习笔记7(TIM定时中断)

前言 本篇文章属于stm32单片机(以下简称单片机)的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 STM32入门教程-2023版 细…

上半年亏损扩大/百亿资产重组终止,路畅科技如何“脱困”?

在智能网联汽车市场形势一片大好的前提下,路畅科技上半年的营收却出现了下滑,并且亏损也进一步扩大。 2024年半年度报告显示,路畅科技营业收入1.35亿元,同比下滑7.83%;实现归属上市公司股东的净利润为亏损2491.99万元…

unix中的vfork函数

一、前言 本文介绍unix中的vfork函数,vfork函数功能和fork函数类似,也是用于创建新的进程,只不过调用vfork函数创建的子进程将共享父进程的进程空间,且只有当子进程调用exec()或者exit()函数后,父进程才会继续运行。 …

如何上传tauri项目到csdn gitcode

如何上传tauri项目到csdn gitcode 首先保证项目目录有.gitignore,避免不必要的文件上传分享。 gitignore文件 # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* lerna-debug.log*node_modules dist dist-ssr *.local# Editor …