[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Henry-23--VideoChat":3,"tool-Henry-23--VideoChat":65},[4,17,27,35,48,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",158594,2,"2026-04-16T23:34:05",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],"图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85092,"2026-04-10T11:13:16",[26,43,44,45,14,46,15,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":54,"last_commit_at":55,"category_tags":56,"status":16},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[15,43,46],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":54,"last_commit_at":63,"category_tags":64,"status":16},5773,"cs-video-courses","Developer-Y\u002Fcs-video-courses","cs-video-courses 是一个精心整理的计算机科学视频课程清单，旨在为自学者提供系统化的学习路径。它汇集了全球知名高校（如加州大学伯克利分校、新南威尔士大学等）的完整课程录像，涵盖从编程基础、数据结构与算法，到操作系统、分布式系统、数据库等核心领域，并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。\n\n面对网络上零散且质量参差不齐的教学资源，cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容，仅收录真正的大学层级课程，排除了碎片化的简短教程或商业广告，确保用户能接触到严谨的学术内容。\n\n这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员，以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽，不仅包含传统的软件工程与网络安全，还细分了生成式 AI、大语言模型、计算生物学等新兴学科，并直接链接至官方视频播放列表，让用户能一站式获取高质量的教育资源，免费享受世界顶尖大学的课堂体验。",79792,"2026-04-08T22:03:59",[46,26,43,13],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":79,"owner_twitter":79,"owner_website":79,"owner_url":82,"languages":83,"stars":88,"forks":89,"last_commit_at":90,"license":91,"difficulty_score":92,"env_os":93,"env_gpu":94,"env_ram":95,"env_deps":96,"category_tags":109,"github_topics":110,"view_count":10,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":123,"updated_at":124,"faqs":125,"releases":166},8352,"Henry-23\u002FVideoChat","VideoChat","实时交互数字人，可自定义形象与音色，支持音色克隆，对话延迟低至3s。Real-time voice interactive digital human, customizable appearance and voice, supporting voice cloning, with initial package delay as low as 3s.","VideoChat 是一款开源的实时语音交互数字人项目，旨在让虚拟形象能够像真人一样与你进行流畅对话。它解决了传统数字人反应迟钝、声音单一且难以定制的痛点，实现了从听到用户说话到数字人开口回答的首包延迟低至 3 秒，带来近乎实时的互动体验。\n\n该项目非常适合开发者、研究人员以及希望构建智能客服、虚拟主播或个性化助手的企业团队使用。无论是需要快速验证原型的工程师，还是追求高拟真效果的内容创作者，都能从中找到适合的方案。\n\nVideoChat 的技术亮点在于其灵活的架构设计：既支持“语音识别 - 大模型 - 语音合成 - 口型生成”的级联模式，也支持基于 GLM-4-Voice 的端到端多模态大模型方案。用户不仅可以自由定制数字人的外貌和音色，还能通过少量样本实现音色克隆，让数字人拥有独特的声音特征。在部署上，它兼容本地运行与云端 API 调用，针对不同显存条件的硬件提供了优化选项，让高性能数字人交互触手可及。","# 数字人对话demo\n实时语音交互数字人，支持端到端（MLLM - THG）和级联（ASR-LLM-TTS-THG）。可自定义形象与音色，支持音色克隆，首包延迟低至3s。\n\n技术介绍：[量子位推文](https:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002FjpoB8O2IyjhXeAWNWnAj7A)\n\n**中文简体** | [**English**](.\u002Fdocs\u002FREADME_en.md)\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHenry-23_VideoChat_readme_66a381511673.png)](https:\u002F\u002Fwww.star-history.com\u002F#Henry-23\u002FVideoChat&Date)\n\n## 技术选型\n* ASR (Automatic Speech Recognition): [FunASR](https:\u002F\u002Fgithub.com\u002Fmodelscope\u002FFunASR)\n* LLM (Large Language Model): [Qwen](https:\u002F\u002Fgithub.com\u002FQwenLM\u002FQwen)\n* End-to-end MLLM (Multimodal Large Language Model): [GLM-4-Voice](https:\u002F\u002Fgithub.com\u002FTHUDM\u002FGLM-4-Voice\u002Ftree\u002Fmain)\n* TTS (Text to speech): [GPT-SoVITS](https:\u002F\u002Fgithub.com\u002FRVC-Boss\u002FGPT-SoVITS), [CosyVoice](https:\u002F\u002Fgithub.com\u002FFunAudioLLM\u002FCosyVoice), [edge-tts](https:\u002F\u002Fgithub.com\u002Frany2\u002Fedge-tts)\n* THG (Talking Head Generation): [MuseTalk](https:\u002F\u002Fgithub.com\u002FTMElyralab\u002FMuseTalk\u002Ftree\u002Fmain)\n\n\n## 本地部署\n### 0. 显存需求\n* 级联方案(ASR-LLM-TTS-THG)：约8G，首包约3s（单张A100）。\n  \n* 端到端语音方案(MLLM-THG)：约20G，首包约7s（单张A100）。\n  \n如果不需要使用端到端 MLLM，请选择仅包含级联方案的`cascade_only`分支。\n```bash\n$ git checkout cascade_only\n```\n\n### 1. 环境配置\n* ubuntu 22.04\n* python 3.10\n* CUDA 12.2\n\n```bash\n$ git lfs install\n$ git clone https:\u002F\u002Fwww.modelscope.cn\u002Fstudios\u002FAI-ModelScope\u002Fvideo_chat.git\n$ conda create -n metahuman python=3.10\n$ conda activate metahuman\n$ cd video_chat\n$ pip install -r requirements.txt\n```\n> requirements中的版本仅供参考，最新依赖请查看对应模块的Repo说明\n\n### 2. 权重下载\n#### 2.1 创空间下载（推荐）\n创空间仓库已设置`git lfs`追踪权重文件，如果是通过`git clone https:\u002F\u002Fwww.modelscope.cn\u002Fstudios\u002FAI-ModelScope\u002Fvideo_chat.git`克隆，则无需额外配置\n\n#### 2.2 手动下载\n##### 2.2.1 MuseTalk\n\n参考[这个链接](https:\u002F\u002Fgithub.com\u002FTMElyralab\u002FMuseTalk\u002Fblob\u002Fmain\u002FREADME.md#download-weights)\n\n目录如下：\n``` plaintext\n.\u002Fweights\u002F\n├── dwpose\n│   └── dw-ll_ucoco_384.pth\n├── face-parse-bisent\n│   ├── 79999_iter.pth\n│   └── resnet18-5c106cde.pth\n├── musetalk\n│   ├── musetalk.json\n│   └── pytorch_model.bin\n├── sd-vae-ft-mse\n│   ├── config.json\n│   └── diffusion_pytorch_model.bin\n└── whisper\n    └── tiny.pt\n```\n##### 2.2.2 GPT-SoVITS\n\n参考[这个链接](https:\u002F\u002Fgithub.com\u002FRVC-Boss\u002FGPT-SoVITS\u002Fblob\u002Fmain\u002Fdocs\u002Fcn\u002FREADME.md#%E9%A2%84%E8%AE%AD%E7%BB%83%E6%A8%A1%E5%9E%8B)\n\n##### 2.2.3 GLM-4-Voice\n在`app.py`中添加如下代码即可完成下载。\n```python\nfrom modelscope import snapshot_download\nsnapshot_download('ZhipuAI\u002Fglm-4-voice-tokenizer',cache_dir='.\u002Fweights')\nsnapshot_download('ZhipuAI\u002Fglm-4-voice-decoder',cache_dir='.\u002Fweights')\nsnapshot_download('ZhipuAI\u002Fglm-4-voice-9b',cache_dir='.\u002Fweights')\n```\n\n### 3. 其他配置\nLLM模块和TTS模块提供了多种方式，可自行选择推理方式\n#### 3.1 使用API-KEY（默认）\n对于LLM模块和TTS模块，如果本地机器性能有限，可使用阿里云大模型服务平台百炼提供的[Qwen API](https:\u002F\u002Fhelp.aliyun.com\u002Fzh\u002Fdashscope\u002Fdeveloper-reference\u002Ftongyi-thousand-questions\u002F?spm=a2c4g.11186623.0.0.581423edryZ54Q)和[CosyVoice API](https:\u002F\u002Fhelp.aliyun.com\u002Fzh\u002Fdashscope\u002Fdeveloper-reference\u002Fcosyvoice-large-model-for-speech-synthesis\u002F?spm=a2c4g.11186623.0.0.79ce23ednMIj9m)，请在app.py(line 14)中配置API-KEY。\n\n参考[这个链接](https:\u002F\u002Fhelp.aliyun.com\u002Fzh\u002Fdashscope\u002Fdeveloper-reference\u002Facquisition-and-configuration-of-api-key?spm=a2c4g.11186623.0.0.7b7344b7jkORJj)完成API-KEY的获取与配置。\n\n```python\nos.environ[\"DASHSCOPE_API_KEY\"] = \"INPUT YOUR API-KEY HERE\"\n```\n\n#### 3.2 不使用API-KEY \n如果不使用API-KEY，请参考以下说明修改相关代码。\n##### 3.2.1 LLM模块\n`src\u002Fllm.py`中提供了`Qwen`和`Qwen_API`两个类分别处理本地推理和调用API。若不使用API-KEY，有以下两种方式进行本地推理：\n1. 使用`Qwen`完成本地推理。\n2. `Qwen_API`默认调用API完成推理，若不使用API-KEY，还可以使用`vLLM`加速LLM推理。可参考如下方式安装`vLLM`：\n   ```bash\n   $ git clone https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm.git\n   $ cd vllm\n   $ python use_existing_torch.py\n   $ pip install -r requirements-build.txt\n   $ pip install -e . --no-build-isolation\n   ```\n   安装完成后，参考[这个链接](https:\u002F\u002Fqwen.readthedocs.io\u002Fzh-cn\u002Flatest\u002Fgetting_started\u002Fquickstart.html#vllm-for-deployment)进行部署，使用`Qwen_API(api_key=\"EMPTY\",base_url=\"http:\u002F\u002Flocalhost:8000\u002Fv1\")`初始化实例调用本地推理服务。\n##### 3.2.2 TTS模块\n`src\u002Ftts.py`中提供了`GPT_SoVits_TTS`和`CosyVoice_API`分别处理本地推理和调用API。若不使用API-KEY，可直接删除`CosyVoice_API`相关的内容，使用`Edge_TTS`调用Edge浏览器的免费TTS服务进行推理。\n\n### 4. 启动服务\n\n```bash\n$ python app.py\n```\n### 5. 使用自定义数字人（可选）\n#### 5.1 自定义数字人形象\n1. 在`\u002Fdata\u002Fvideo\u002F`中添加录制好的数字人形象视频\n2. 修改`\u002Fsrc\u002Fthg.py`中`Muse_Talk`类的`avatar_list`，加入`(形象名, bbox_shfit)`，关于bbox_shift的说明参考[这个链接](https:\u002F\u002Fgithub.com\u002FTMElyralab\u002FMuseTalk?tab=readme-ov-file#use-of-bbox_shift-to-have-adjustable-results)\n3. 在`\u002Fapp.py`中Gradio的`avatar_name`中加入数字人形象名后重新启动服务，等待完成初始化即可。\n\n#### 5.2 自定义数字人音色\n`GPT-SoVits`支持自定义音色。demo中可使用音色克隆功能，上传任意语音内容的参考音频后开始对话，或将音色永久添加到demo中：\n1. 在`\u002Fdata\u002Faudio`中添加音色参考音频，音频长度3-10s，命名格式为`x.wav`\n2. 在`\u002Fapp.py`中Gradio的`avatar_voice`中加入音色名（命名格式为`x (GPT-SoVits)`）后重新启动服务。\n3. TTS选型选择`GPT-SoVits`，开始对话\n\n### 6. 已知问题\n1. 报错无法找到某资源：按照报错提示下载对应的资源即可\n![alt text](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHenry-23_VideoChat_readme_d662da697c9b.png)\n\n2. 右侧视频流播放卡顿：需等待Gradio优化Video Streaming效果\n3. 与模型加载相关：检查权重是否下载完整\n","# 数字人对话demo\n实时语音交互数字人，支持端到端（MLLM - THG）和级联（ASR-LLM-TTS-THG）。可自定义形象与音色，支持音色克隆，首包延迟低至3s。\n\n技术介绍：[量子位推文](https:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002FjpoB8O2IyjhXeAWNWnAj7A)\n\n**中文简体** | [**English**](.\u002Fdocs\u002FREADME_en.md)\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHenry-23_VideoChat_readme_66a381511673.png)](https:\u002F\u002Fwww.star-history.com\u002F#Henry-23\u002FVideoChat&Date)\n\n## 技术选型\n* ASR (Automatic Speech Recognition): [FunASR](https:\u002F\u002Fgithub.com\u002Fmodelscope\u002FFunASR)\n* LLM (Large Language Model): [Qwen](https:\u002F\u002Fgithub.com\u002FQwenLM\u002FQwen)\n* End-to-end MLLM (Multimodal Large Language Model): [GLM-4-Voice](https:\u002F\u002Fgithub.com\u002FTHUDM\u002FGLM-4-Voice\u002Ftree\u002Fmain)\n* TTS (Text to speech): [GPT-SoVITS](https:\u002F\u002Fgithub.com\u002FRVC-Boss\u002FGPT-SoVITS), [CosyVoice](https:\u002F\u002Fgithub.com\u002FFunAudioLLM\u002FCosyVoice), [edge-tts](https:\u002F\u002Fgithub.com\u002Frany2\u002Fedge-tts)\n* THG (Talking Head Generation): [MuseTalk](https:\u002F\u002Fgithub.com\u002FTMElyralab\u002FMuseTalk\u002Ftree\u002Fmain)\n\n\n## 本地部署\n### 0. 显存需求\n* 级联方案(ASR-LLM-TTS-THG)：约8G，首包约3s（单张A100）。\n  \n* 端到端语音方案(MLLM-THG)：约20G，首包约7s（单张A100）。\n  \n如果不需要使用端到端 MLLM，请选择仅包含级联方案的`cascade_only`分支。\n```bash\n$ git checkout cascade_only\n```\n\n### 1. 环境配置\n* ubuntu 22.04\n* python 3.10\n* CUDA 12.2\n\n```bash\n$ git lfs install\n$ git clone https:\u002F\u002Fwww.modelscope.cn\u002Fstudios\u002FAI-ModelScope\u002Fvideo_chat.git\n$ conda create -n metahuman python=3.10\n$ conda activate metahuman\n$ cd video_chat\n$ pip install -r requirements.txt\n```\n> requirements中的版本仅供参考，最新依赖请查看对应模块的Repo说明\n\n### 2. 权重下载\n#### 2.1 创空间下载（推荐）\n创空间仓库已设置`git lfs`追踪权重文件，如果是通过`git clone https:\u002F\u002Fwww.modelscope.cn\u002Fstudios\u002FAI-ModelScope\u002Fvideo_chat.git`克隆，则无需额外配置\n\n#### 2.2 手动下载\n##### 2.2.1 MuseTalk\n\n参考[这个链接](https:\u002F\u002Fgithub.com\u002FTMElyralab\u002FMuseTalk\u002Fblob\u002Fmain\u002FREADME.md#download-weights)\n\n目录如下：\n``` plaintext\n.\u002Fweights\u002F\n├── dwpose\n│   └── dw-ll_ucoco_384.pth\n├── face-parse-bisent\n│   ├── 79999_iter.pth\n│   └── resnet18-5c106cde.pth\n├── musetalk\n│   ├── musetalk.json\n│   └── pytorch_model.bin\n├── sd-vae-ft-mse\n│   ├── config.json\n│   └── diffusion_pytorch_model.bin\n└── whisper\n    └── tiny.pt\n```\n##### 2.2.2 GPT-SoVITS\n\n参考[这个链接](https:\u002F\u002Fgithub.com\u002FRVC-Boss\u002FGPT-SoVITS\u002Fblob\u002Fmain\u002Fdocs\u002Fcn\u002FREADME.md#%E9%A2%84%E8%AE%AD%E7%BB%83%E6%A8%A1%E5%9E%8B)\n\n##### 2.2.3 GLM-4-Voice\n在`app.py`中添加如下代码即可完成下载。\n```python\nfrom modelscope import snapshot_download\nsnapshot_download('ZhipuAI\u002Fglm-4-voice-tokenizer',cache_dir='.\u002Fweights')\nsnapshot_download('ZhipuAI\u002Fglm-4-voice-decoder',cache_dir='.\u002Fweights')\nsnapshot_download('ZhipuAI\u002Fglm-4-voice-9b',cache_dir='.\u002Fweights')\n```\n\n### 3. 其他配置\nLLM模块和TTS模块提供了多种方式，可自行选择推理方式\n#### 3.1 使用API-KEY（默认）\n对于LLM模块和TTS模块，如果本地机器性能有限，可使用阿里云大模型服务平台百炼提供的[Qwen API](https:\u002F\u002Fhelp.aliyun.com\u002Fzh\u002Fdashscope\u002Fdeveloper-reference\u002Ftongyi-thousand-questions\u002F?spm=a2c4g.11186623.0.0.581423edryZ54Q)和[CosyVoice API](https:\u002F\u002Fhelp.aliyun.com\u002Fzh\u002Fdashscope\u002Fdeveloper-reference\u002Fcosyvoice-large-model-for-speech-synthesis\u002F?spm=a2c4g.11186623.0.0.79ce23ednMIj9m)，请在app.py(line 14)中配置API-KEY。\n\n参考[这个链接](https:\u002F\u002Fhelp.aliyun.com\u002Fzh\u002Fdashscope\u002Fdeveloper-reference\u002Facquisition-and-configuration-of-api-key?spm=a2c4g.11186623.0.0.7b7344b7jkORJj)完成API-KEY的获取与配置。\n\n```python\nos.environ[\"DASHSCOPE_API_KEY\"] = \"INPUT YOUR API-KEY HERE\"\n```\n\n#### 3.2 不使用API-KEY \n如果不使用API-KEY，请参考以下说明修改相关代码。\n##### 3.2.1 LLM模块\n`src\u002Fllm.py`中提供了`Qwen`和`Qwen_API`两个类分别处理本地推理和调用API。若不使用API-KEY，有以下两种方式进行本地推理：\n1. 使用`Qwen`完成本地推理。\n2. `Qwen_API`默认调用API完成推理，若不使用API-KEY，还可以使用`vLLM`加速LLM推理。可参考如下方式安装`vLLM`：\n   ```bash\n   $ git clone https:\u002F\u002Fgithub.com\u002Fvllm-project\u002Fvllm.git\n   $ cd vllm\n   $ python use_existing_torch.py\n   $ pip install -r requirements-build.txt\n   $ pip install -e . --no-build-isolation\n   ```\n   安装完成后，参考[这个链接](https:\u002F\u002Fqwen.readthedocs.io\u002Fzh-cn\u002Flatest\u002Fgetting_started\u002Fquickstart.html#vllm-for-deployment)进行部署，使用`Qwen_API(api_key=\"EMPTY\",base_url=\"http:\u002F\u002Flocalhost:8000\u002Fv1\")`初始化实例调用本地推理服务。\n##### 3.2.2 TTS模块\n`src\u002Ftts.py`中提供了`GPT_SoVits_TTS`和`CosyVoice_API`分别处理本地推理和调用API。若不使用API-KEY，可直接删除`CosyVoice_API`相关的内容，使用`Edge_TTS`调用Edge浏览器的免费TTS服务进行推理。\n\n### 4. 启动服务\n\n```bash\n$ python app.py\n```\n### 5. 使用自定义数字人（可选）\n#### 5.1 自定义数字人形象\n1. 在`\u002Fdata\u002Fvideo\u002F`中添加录制好的数字人形象视频\n2. 修改`\u002Fsrc\u002Fthg.py`中`Muse_Talk`类的`avatar_list`，加入`(形象名, bbox_shfit)`，关于bbox_shift的说明参考[这个链接](https:\u002F\u002Fgithub.com\u002FTMElyralab\u002FMuseTalk?tab=readme-ov-file#use-of-bbox_shift-to-have-adjustable-results)\n3. 在`\u002Fapp.py`中Gradio的`avatar_name`中加入数字人形象名后重新启动服务，等待完成初始化即可。\n\n#### 5.2 自定义数字人音色\n`GPT-SoVits`支持自定义音色。demo中可使用音色克隆功能，上传任意语音内容的参考音频后开始对话，或将音色永久添加到demo中：\n1. 在`\u002Fdata\u002Faudio`中添加音色参考音频，音频长度3-10s，命名格式为`x.wav`\n2. 在`\u002Fapp.py`中Gradio的`avatar_voice`中加入音色名（命名格式为`x (GPT-SoVits)`）后重新启动服务。\n3. TTS选型选择`GPT-SoVits`，开始对话\n\n### 6. 已知问题\n1. 报错无法找到某资源：按照报错提示下载对应的资源即可\n![alt text](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHenry-23_VideoChat_readme_d662da697c9b.png)\n\n2. 右侧视频流播放卡顿：需等待Gradio优化Video Streaming效果\n3. 与模型加载相关：检查权重是否下载完整","# VideoChat 快速上手指南\n\nVideoChat 是一个实时语音交互数字人开源项目，支持端到端（MLLM-THG）和级联（ASR-LLM-TTS-THG）两种模式。本指南将帮助您快速在本地部署并运行该工具。\n\n## 1. 环境准备\n\n### 系统要求\n*   **操作系统**: Ubuntu 22.04\n*   **Python 版本**: 3.10\n*   **CUDA 版本**: 12.2\n*   **显存需求**:\n    *   **级联方案** (ASR-LLM-TTS-THG): 约 8GB (首包延迟约 3s)\n    *   **端到端方案** (MLLM-THG): 约 20GB (首包延迟约 7s)\n    *   *注：若无需端到端 MLLM 功能，建议使用 `cascade_only` 分支以降低资源消耗。*\n\n### 前置依赖\n确保已安装 `git`、`conda` 和 `git-lfs`。\n\n## 2. 安装步骤\n\n### 2.1 克隆代码与创建环境\n推荐使用 ModelScope（魔搭社区）镜像源加速下载。\n\n```bash\n# 初始化 git lfs\n$ git lfs install\n\n# 克隆项目 (使用国内镜像源)\n$ git clone https:\u002F\u002Fwww.modelscope.cn\u002Fstudios\u002FAI-ModelScope\u002Fvideo_chat.git\n\n# 创建并激活 conda 环境\n$ conda create -n metahuman python=3.10\n$ conda activate metahuman\n\n# 进入目录并安装依赖\n$ cd video_chat\n$ pip install -r requirements.txt\n```\n> *提示：如果不需要端到端大模型功能，可在克隆后执行 `git checkout cascade_only` 切换分支。*\n\n### 2.2 下载模型权重\n项目默认通过 `git lfs` 自动追踪权重文件。如果您是通过上述命令克隆的仓库，权重通常已包含在内。若需手动补充或单独下载特定模块，请参考以下方式：\n\n**手动下载 MuseTalk 权重**\n确保目录结构如下：\n```plaintext\n.\u002Fweights\u002F\n├── dwpose\n│   └── dw-ll_ucoco_384.pth\n├── face-parse-bisent\n│   ├── 79999_iter.pth\n│   └── resnet18-5c106cde.pth\n├── musetalk\n│   ├── musetalk.json\n│   └── pytorch_model.bin\n├── sd-vae-ft-mse\n│   ├── config.json\n│   └── diffusion_pytorch_model.bin\n└── whisper\n    └── tiny.pt\n```\n\n**手动下载 GLM-4-Voice 权重**\n如需使用端到端模式，可在 `app.py` 中临时运行以下代码下载：\n```python\nfrom modelscope import snapshot_download\nsnapshot_download('ZhipuAI\u002Fglm-4-voice-tokenizer',cache_dir='.\u002Fweights')\nsnapshot_download('ZhipuAI\u002Fglm-4-voice-decoder',cache_dir='.\u002Fweights')\nsnapshot_download('ZhipuAI\u002Fglm-4-voice-9b',cache_dir='.\u002Fweights')\n```\n\n### 2.3 配置 API Key (可选)\n若本地显存不足，可使用阿里云百炼平台的 API 进行推理（推荐）。\n获取 API Key 后，在 `app.py` 第 14 行附近配置：\n\n```python\nos.environ[\"DASHSCOPE_API_KEY\"] = \"INPUT YOUR API-KEY HERE\"\n```\n*若不配置 API Key，系统将尝试使用本地模型推理（需确保已下载完整权重且显存充足）。*\n\n## 3. 基本使用\n\n### 启动服务\n在激活的 conda 环境中运行以下命令启动应用：\n\n```bash\n$ python app.py\n```\n\n启动成功后，终端会显示本地访问地址（通常为 `http:\u002F\u002F127.0.0.1:7860`），在浏览器中打开即可开始与数字人对话。\n\n### 自定义数字人（可选）\n\n**更换形象：**\n1. 将录制好的视频放入 `\u002Fdata\u002Fvideo\u002F` 目录。\n2. 修改 `\u002Fsrc\u002Fthg.py` 中 `Muse_Talk` 类的 `avatar_list`，添加 `(形象名，bbox_shift)`。\n3. 重启服务，在界面中选择新形象。\n\n**更换音色：**\n1. 将 3-10 秒的参考音频命名为 `x.wav` 放入 `\u002Fdata\u002Faudio\u002F` 目录。\n2. 重启服务，在界面音色选择栏中添加 `x (GPT-SoVits)`。\n3. 选择 TTS 类型为 `GPT-SoVits` 即可使用克隆音色。","某跨境电商企业希望为海外用户提供 24 小时不间断的个性化视频客服，以解决时差导致的响应滞后问题。\n\n### 没有 VideoChat 时\n- **形象僵硬单一**：只能使用预录制的通用视频或静态头像，无法根据用户提问实时生成口型匹配的回答，缺乏真实感。\n- **声音缺乏温度**：依赖传统机械式 TTS 合成音，语调平淡且无法复刻品牌专属代言人的音色，难以建立情感连接。\n- **响应延迟严重**：采用传统的“语音转文字 - 大模型思考 - 文字转语音 - 渲染视频”串行流程，首包等待时间往往超过 10 秒，用户体验断裂。\n- **定制成本高昂**：若要更换不同国家或风格的客服形象，需重新拍摄真人视频或购买昂贵的商业授权，迭代周期长达数周。\n\n### 使用 VideoChat 后\n- **交互自然逼真**：利用 MuseTalk 技术驱动自定义数字人，唇形与表情能实时跟随回答内容变化，实现端到端的流畅对话。\n- **音色高度拟人**：通过 GPT-SoVITS 或 CosyVoice 克隆品牌代言人声音，输出富有情感的语音，显著提升用户信任度。\n- **低延迟实时响应**：得益于优化的级联架构（ASR-LLM-TTS-THG），首包延迟低至 3 秒，让用户感觉像是在与真人面对面交流。\n- **灵活快速部署**：仅需少量素材即可在本地或云端快速克隆新形象与新音色，支持按需切换多语言客服，大幅降低运营门槛。\n\nVideoChat 将原本高成本、高延迟的视频交互转化为可实时定制的低门槛服务，让企业能以极低成本构建具备“真人质感”的全球化智能客服体系。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHenry-23_VideoChat_53871ec5.png","Henry-23","Weiheng Chi","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FHenry-23_86fcfa87.jpg",null,"@Tencent-RoboticsX ","Shenzhen, China","https:\u002F\u002Fgithub.com\u002FHenry-23",[84],{"name":85,"color":86,"percentage":87},"Python","#3572A5",100,1232,160,"2026-04-14T01:44:58","MIT",4,"Linux (Ubuntu 22.04)","必需 NVIDIA GPU。级联方案需约 8GB 显存，端到端方案需约 20GB 显存（参考单张 A100）。需 CUDA 12.2。","未说明",{"notes":97,"python":98,"dependencies":99},"推荐使用 conda 管理环境。若本地显存不足，LLM 和 TTS 模块支持配置 API-KEY 调用云端服务。首次运行需下载多个模型权重（包括 MuseTalk、GPT-SoVITS、GLM-4-Voice 等），建议确保网络连接通畅或使用创空间仓库自动拉取。自定义数字人需准备特定格式的视频和音频文件。","3.10",[100,101,102,103,104,105,106,107,108],"FunASR","Qwen","GLM-4-Voice","GPT-SoVITS","CosyVoice","edge-tts","MuseTalk","vLLM (可选)","git-lfs",[46,47,15],[111,112,113,114,115,116,117,118,119,120,121,122],"dialogue-systems","real-time","digital-human","gradio-python-app","lip-sync","musetalk","streaming","talking-head","asr","tts","end-to-end","multimodal-large-language-models","2026-03-27T02:49:30.150509","2026-04-17T10:20:42.501229",[126,131,136,141,146,151,156,161],{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},37374,"项目启动时出现 CUDA 分配错误或如何配置多卡推理？","请检查 tts.py 和 thg.py 代码，在类的 __init__ 函数中查看 CUDA 设备分配（如 cuda:0, cuda:1）。若需在两张显卡上进行推理，可以尝试将 GPT-Sovits 和 Musetalk 模块分别部署在不同的显卡上。Musetalk 开发者曾使用 V100 实现 30fps 处理速度，P100 的具体速度需自行测试。","https:\u002F\u002Fgithub.com\u002FHenry-23\u002FVideoChat\u002Fissues\u002F6",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},37375,"如何使用自定义声音生成数字人视频？遇到音频替换或空白片段怎么办？","核心推理代码基于 GPT-Sovits，作者仅做了面向对象重构。若遇到分段生成视频时第一段空白或中间片段被替换为原音的问题，建议前往 GPT-Sovits 的 Issue 页面查询。也可尝试在 Gradio 界面右下角使用“语音克隆”功能，录制语音后输入内容进行测试，以排查是否为 TTS.py 的 run 方法或 audio_postprocess 方法的问题。","https:\u002F\u002Fgithub.com\u002FHenry-23\u002FVideoChat\u002Fissues\u002F8",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},37376,"点击提交后程序进入死循环且无报错信息，如何解决？","该问题通常与 uvicorn 相关代码有关。解决方法是删除 app.py 中与 uvicorn 相关的代码，改用 demo.launch() 启动应用。此操作通常也能顺便解决 TTS 超时和 THG 超时的异常问题。","https:\u002F\u002Fgithub.com\u002FHenry-23\u002FVideoChat\u002Fissues\u002F14",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},37377,"启动时报错提示权重文件不完整或找不到，如何处理？","这通常是因为模型权重文件下载不完整。请检查 weights 目录下的文件，并参考项目 Readme 中关于 GPT-Sovits 权重配置的说明重新下载。注意目前官方主要提供 Windows 和 Mac 的整合包，Linux 用户可能需要手动配置权重文件。","https:\u002F\u002Fgithub.com\u002FHenry-23\u002FVideoChat\u002Fissues\u002F15",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},37378,"Gradio 视频流出现卡顿、丢字或音频重叠现象怎么办？","这是 Gradio 基于 HLS 协议的 Video Streaming 性能限制导致的，尤其在视频片段切换时容易卡顿。后台合成的完整视频通常是正常的。目前建议关注 gradio-webrtc 项目的进展，未来支持音视频同步后可解决此问题。临时方案可检查生成的 .ts 视频片段是否正常，或参考 LiveTalking 等项目使用 webrtc 方案进行二次开发。","https:\u002F\u002Fgithub.com\u002FHenry-23\u002FVideoChat\u002Fissues\u002F2",{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},37379,"浏览器提示找不到麦克风或无法访问音频接口，如何解决？","如果是通过 HTTP 访问而非 HTTPS，浏览器可能会阻止麦克风权限。在使用 Edge 浏览器时，可以在地址栏输入 edge:\u002F\u002Fflags\u002F#unsafely-treat-insecure-origin-as-secure，将项目的 IP 地址和端口添加进去并重启浏览器，之后即可通过 HTTP 正常访问接口并使用麦克风。","https:\u002F\u002Fgithub.com\u002FHenry-23\u002FVideoChat\u002Fissues\u002F44",{"id":157,"question_zh":158,"answer_zh":159,"source_url":160},37380,"本地调用 Qwen 模型时流式输出报错（str 没有 choice），如何改为非流式？","需要修改 src\u002Fpipeline_llm.py 文件。找到调用 self.llm.infer_stream 的地方，将其改为调用非流式的 infer 方法。关键是要确保能拿到 LLM 输出的文本并放入 llm_queue 中，这样 TTS 模块才能开始处理。具体可将 infer_stream 替换为 infer，并调整相应的参数传递逻辑。","https:\u002F\u002Fgithub.com\u002FHenry-23\u002FVideoChat\u002Fissues\u002F21",{"id":162,"question_zh":163,"answer_zh":164,"source_url":165},37381,"模型加载时出现 Traceback 错误或 torch.load 失败，原因是什么？","绝大多数情况下是因为模型权重文件没有下载完全，导致文件损坏或不完整。即使使用 hfd 等工具下载显示完成，也可能存在文件缺失。请彻底删除 weights 目录下对应的模型文件（如 dwpose, s3fd, resnet 等），并重新完整下载所有权重文件。","https:\u002F\u002Fgithub.com\u002FHenry-23\u002FVideoChat\u002Fissues\u002F5",[]]