[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-tairov--llama2.mojo":3,"tool-tairov--llama2.mojo":64},[4,17,27,35,44,52],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[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},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 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,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},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[13,14,15,43],"视频",{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":23,"last_commit_at":50,"category_tags":51,"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,26],{"id":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":23,"last_commit_at":58,"category_tags":59,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,60,43,61,15,62,26,13,63],"数据工具","插件","其他","音频",{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"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":80,"owner_twitter":80,"owner_website":80,"owner_url":82,"languages":83,"stars":100,"forks":101,"last_commit_at":102,"license":103,"difficulty_score":104,"env_os":105,"env_gpu":106,"env_ram":107,"env_deps":108,"category_tags":113,"github_topics":114,"view_count":23,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":126,"updated_at":127,"faqs":128,"releases":158},4166,"tairov\u002Fllama2.mojo","llama2.mojo","Inference Llama 2 in one file of pure 🔥","llama2.mojo 是一个专为高效运行 Llama 2 系列模型而设计的开源推理工具，其最大特色是仅需一个纯 Mojo 语言文件即可实现完整功能。它主要解决了传统 Python 实现推理速度慢、而底层 C\u002FC++ 实现又难以兼顾开发效率的痛点。通过将原本基于 Python 的代码重构为 Mojo 版本，llama2.mojo 充分利用了该语言底层的 SIMD（单指令多数据）与向量化原语，在苹果 M1 Max 芯片上的多线程推理性能比原始 Python 版本提升近 250 倍，甚至超越了经典的 llama2.c 项目约 30%，并在小型模型 CPU 推理上优于 llama.cpp。\n\n该项目目前支持包括 stories 系列及 TinyLlama-1.1B 在内的多种轻量级模型，非常适合希望探索高性能 AI 推理的开发者、研究人员以及对系统底层优化感兴趣的技术爱好者。如果你正在寻找一种既能保持代码简洁易读，又能释放硬件极致潜力的方案，llama2.mojo 提供了一个极佳的实践范例。使用前需确保已安装并配置好 Mojo 环境（推荐版本 0.26.2.0），随后即可克隆仓库体验“火焰般","llama2.mojo 是一个专为高效运行 Llama 2 系列模型而设计的开源推理工具，其最大特色是仅需一个纯 Mojo 语言文件即可实现完整功能。它主要解决了传统 Python 实现推理速度慢、而底层 C\u002FC++ 实现又难以兼顾开发效率的痛点。通过将原本基于 Python 的代码重构为 Mojo 版本，llama2.mojo 充分利用了该语言底层的 SIMD（单指令多数据）与向量化原语，在苹果 M1 Max 芯片上的多线程推理性能比原始 Python 版本提升近 250 倍，甚至超越了经典的 llama2.c 项目约 30%，并在小型模型 CPU 推理上优于 llama.cpp。\n\n该项目目前支持包括 stories 系列及 TinyLlama-1.1B 在内的多种轻量级模型，非常适合希望探索高性能 AI 推理的开发者、研究人员以及对系统底层优化感兴趣的技术爱好者。如果你正在寻找一种既能保持代码简洁易读，又能释放硬件极致潜力的方案，llama2.mojo 提供了一个极佳的实践范例。使用前需确保已安装并配置好 Mojo 环境（推荐版本 0.26.2.0），随后即可克隆仓库体验“火焰般”的推理速度。","## llama2.🔥\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftairov_llama2.mojo_readme_792d3fc6f5d2.jpeg\" width=\"500\" alt=\"llama2.mojo benchmark\">\n\u003C\u002Fp>\n\nHave you ever wanted to inference a baby Llama 2 model in pure Mojo? No? Well, now you can!\n\n**supported version**: [Mojo 0.26.2.0](https:\u002F\u002Fdocs.modular.com\u002Fmojo\u002Fchangelog\u002F#nightly-v0262)\n\n\nWith the release of [Mojo](https:\u002F\u002Fwww.modular.com\u002Fblog\u002Fmojo-its-finally-here), I was inspired to take my Python port\nof [llama2.py](https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.py) and transition it to Mojo. The result? A version that leverages\nMojo's SIMD & vectorization primitives, boosting the Python performance by nearly 250x. \nImpressively, after few native improvements the Mojo version outperforms the original `llama2.c` by 30% in multi-threaded inference. As well as it outperforms `llama.cpp` on baby-llama inference on CPU by 20%.\nThis showcases the potential of hardware-level optimizations through Mojo's advanced features.\n\n## supported models\n\nAt the moment, the following models were successfully executed via `llama2.mojo`:\n\n| Models                       |\n|------------------------------|\n| stories 260K, 15M, 42M, 110M |\n| Tinyllama-1.1B-Chat-v0.2     |\n\n### extensive benchmark on Apple M1 Max\n\n[mojo vs 6 programming languages](https:\u002F\u002Fengiware.com\u002Fbenchmark\u002Fllama2-ports-extensive-benchmarks-mac-m1-max.html)\n\n### benchmark (updated)\n\n**Mac M1 Max (6 threads)**\n\n| Model           | [llama2.c](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fllama2.c) (OMP\u002Fparallelized) | **llama2.mojo** (parallelized) | llama.cpp (CPU, 6 threads) | [llama2.py](https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.py) |\n|-----------------|---------------------------------------------------------------------|--------------------------------|-----------------|--------------------------------------------------|\n| stories15M.bin  | 730 tok\u002Fs                                                           | 1025 tok\u002Fs                     | 890 tok\u002Fs       | 38 tok\u002Fs (pypi)                                  | \n| stories42M.bin  | 270 tok\u002Fs                                                           | 490 tok\u002Fs                      | 420 tok\u002Fs       | -                                                | \n| stories110M.bin | 102 tok\u002Fs                                                           | 195 tok\u002Fs                      | 187 tok\u002Fs       | -                                                | \n| TinyLlama-1.1B  | -                                                                   | 23 tok\u002Fs                       | -               | -                                                | \n\n**Ubuntu 20.04, Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz, 6 cores, 12 threads**\n\n| Model           | [llama2.c](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fllama2.c) (OMP\u002Fparallelized) | **llama2.mojo** (parallelized) | llama2.mojo (naive matmul) | [llama2.py](https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.py) |\n|-----------------|---------------------------------------------------------------------|--------------------------------|----------------------------|--------------------------------------------------|\n| stories15M.bin  | 435 tok\u002Fs                                                           | 440 tok\u002Fs                      | 67.26 tok\u002Fs                | 1.3 tok\u002Fs                                        | \n| stories110M.bin | 64 tok\u002Fs                                                            | 63 tok\u002Fs                       | 9.20 tok\u002Fs                 | -                                                | \n| TinyLlama-1.1B  | 7.25 tok\u002Fs                                                          | 7.25 tok\u002Fs                     | -                          | -                                                | \n\n## prerequisites\n\nMake sure you have installed\nand [configured mojo on your environment](https:\u002F\u002Fdocs.modular.com\u002Fmojo\u002Fmanual\u002Fget-started\u002Findex.html)\n\n\n## feel the 🔥 magic\n\nFirst, navigate to the folder when you keep your projects and clone this repository to this folder:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.mojo.git\n```\n\nThen, open the repository folder:\n\n```bash\ncd llama2.mojo\n```\n\nNow, let's download the model\n\n```bash\nwget https:\u002F\u002Fhuggingface.co\u002Fkarpathy\u002Ftinyllamas\u002Fresolve\u002Fmain\u002Fstories15M.bin\n```\n\nThen, just run the Mojo\n\n```bash\nmojo llama2.mojo stories15M.bin -s 100 -n 256 -t 0.5 -i \"Once upon a time\"\n```\n\n**Command-line options:**\n\n- `-s \u003Cint>` - random seed (default: current time in milliseconds)\n- `-n \u003Cint>` - number of steps to run for (default: 256, 0 = max_seq_len)\n- `-t \u003Cfloat>` - temperature in [0,1.0] (default: 0.9)\n- `-i \u003Cstring>` - input prompt\n- `-z \u003Cstring>` - tokenizer path (default: tokenizer.bin)\n- `-j \u003Cint>` - number of parallel workers (default: number of performance cores)\n- `-pc \u003Cint>` - print config (0 or 1)\n\n**example output**\n\n```\nnum parallel workers: 4  SIMD width: 16\nTotal bytes read: 60816028 Estimated checkpoint size:  57 MB\nn layers: 6 | vocab size: 32000\nOnce upon a time, there was a little girl named Lily. She loved to play with her toys and her friends. One day, Lily's mom asked her to help make dinner. Lily was happy to help and got out the plates and forks.\nWhile they were cooking, Lily's mom asked her to help clean the kitchen. Lily was happy to help and started to pick up the plates. Suddenly, she saw a shiny knife on the counter. She picked it up and showed it to her mom.\n\"Be careful with that knife, Lily. It's sharp and can hurt you,\" her mom warned.\nLily was careful and put the knife away. She finished cooking and felt proud of herself. Her mom hugged her and said, \"You are such a good helper, Lily. Thank you for helping me.\"\nachieved tok\u002Fs:  148.95267649340573\n```\n\n## citing llama2.🔥\n\nIf you use or discuss llama2.mojo in your academic research, please cite the project to help spread awareness:\n\n```\n@misc{llama2.mojo,\n  author = {Aydyn Tairov}, \n  title = {Inference Llama2 in one file of pure Mojo},\n  year = {2023},\n  month = {09},\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.mojo}},\n  note = {Llama2 Mojo, MIT License}\n}\n```\n\nWe kindly request that you include a link to the GitHub repository in published papers. This will allow interested\nreaders to easily find the latest updates and extensions to the project.\n\n`llama2.mojo` aims to encourage academic research on efficient implementations of transformer architectures, the `llama`\nmodel, and applications of the `mojo` programming language. Citing the project helps growth of the knowledge community\naround these topics. We appreciate your support through referencing `llama2.mojo`!\n\n## in research & industry\n\nOur project has been used in academic. If you’ve published a paper or article that uses this project, please send a PR, so we can feature it here\n* https:\u002F\u002Farxiv.org\u002Fabs\u002F2410.17736 - MojoBench: Language Modeling and Benchmarks for Mojo\n* https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.04080 - MojoFrame: Dataframe Library in Mojo Language\n* https:\u002F\u002Fieeexplore.ieee.org\u002Fabstract\u002Fdocument\u002F10883176\u002Fmetrics - A Comprehensive Review of Mojo: A High-Performance Programming Language\n* https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.01651 - Fine-tuning LLaMA 2 interference: a comparative study of language implementations for optimal efficiency\n\n\n## play with Tinyllama-1.1B-Chat-v0.2\n\nThe [TinyLlama](https:\u002F\u002Fgithub.com\u002Fjzhang38\u002FTinyLlama) is a 1.1B Llama model trained on 3 trillion tokens. This\ncompactness allows it to cater to a multitude of applications demanding a restricted computation and memory footprint.\nThis is also the reason why we select it as the first model to support.\n\nFirst, navigate to the folder when you keep your projects and clone this repository to this folder:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.mojo.git\n```\n\nThen, open the repository folder:\n\n```bash\ncd llama2.mojo\n```\n\nNow, let's download the model and the tokenizer\n\n```bash\nwget https:\u002F\u002Fhuggingface.co\u002Fkirp\u002FTinyLlama-1.1B-Chat-v0.2-bin\u002Fresolve\u002Fmain\u002Ftok_tl-chat.bin\nwget https:\u002F\u002Fhuggingface.co\u002Fkirp\u002FTinyLlama-1.1B-Chat-v0.2-bin\u002Fresolve\u002Fmain\u002Ftl-chat.bin\n```\n\nThen, just run the Mojo\n\n```bash\nmojo llama2.mojo tl-chat.bin \\\n    -z tok_tl-chat.bin \\\n    -n 256 -t 0 -s 100 -i \"\u003C|im_start|>user\\nGive me a python function to generate Fibonacci sequence\u003C|im_end|>\\n\u003C|im_start|>assistant\\n\"\n```\n\n**example output**\n\n```\nnum hardware threads:  6\nSIMD vector width:  16\ncheckpoint size:  4400767004 [ 4196 MB ]\nn layers:  22\nvocab size:  32003\n\u003C|im_start|>user\nGive me a python function to generate Fibonacci sequence\u003C|im_end|>\n\u003C|im_start|>assistant\nSure, here's a Python function that generates the Fibonacci sequence:\n\ndef fibonacci(n):\n    if n \u003C= 0:\n        return 0\n    elif n == 1:\n        return 1\n    else:\n        return fibonacci(n-1) + fibonacci(n-2)\n\nThis function takes an integer n as a parameter and returns the next Fibonacci number. It uses a recursive approach to calculate the Fibonacci numbers, starting from 0 and working up. The function returns the value it found at the current level of the recursion, which can be either 0 or a Fibonacci number.\n```\n\n## license\n\nMIT\n\n\n","## llama2.🔥\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftairov_llama2.mojo_readme_792d3fc6f5d2.jpeg\" width=\"500\" alt=\"llama2.mojo benchmark\">\n\u003C\u002Fp>\n\n你是否曾想过用纯Mojo来推理一个小型Llama 2模型？如果没有？那么现在你可以了！\n\n**支持版本**: [Mojo 0.26.2.0](https:\u002F\u002Fdocs.modular.com\u002Fmojo\u002Fchangelog\u002F#nightly-v0262)\n\n\n随着[Mojo](https:\u002F\u002Fwww.modular.com\u002Fblog\u002Fmojo-its-finally-here)的发布，我受到启发，将我的Python版[Llama2.py](https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.py)移植到Mojo中。结果如何呢？这个版本利用了Mojo的SIMD和向量化原语，使性能相比Python版本提升了近250倍。更令人印象深刻的是，在进行了一些原生优化后，Mojo版本在多线程推理方面的表现比原始的`llama2.c`高出30%，并且在CPU上对小规模Llama模型的推理速度也比`llama.cpp`快了20%。这充分展示了通过Mojo的高级特性实现硬件级优化的巨大潜力。\n\n## 支持的模型\n\n目前，以下模型已成功通过`llama2.mojo`运行：\n\n| 模型                       |\n|------------------------------|\n| stories 260K, 15M, 42M, 110M |\n| Tinyllama-1.1B-Chat-v0.2     |\n\n### 在Apple M1 Max上的全面基准测试\n\n[mojo与6种编程语言的对比](https:\u002F\u002Fengiware.com\u002Fbenchmark\u002Fllama2-ports-extensive-benchmarks-mac-m1-max.html)\n\n### 基准测试（更新）\n\n**Mac M1 Max（6线程）**\n\n| 模型           | [llama2.c](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fllama2.c)（OMP\u002F并行化） | **llama2.mojo**（并行化） | llama.cpp（CPU，6线程） | [llama2.py](https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.py) |\n|-----------------|---------------------------------------------------------------------|--------------------------------|-----------------|--------------------------------------------------|\n| stories15M.bin  | 730 tok\u002Fs                                                           | 1025 tok\u002Fs                     | 890 tok\u002Fs       | 38 tok\u002Fs（pypi）                                  | \n| stories42M.bin  | 270 tok\u002Fs                                                           | 490 tok\u002Fs                      | 420 tok\u002Fs       | -                                                | \n| stories110M.bin | 102 tok\u002Fs                                                           | 195 tok\u002Fs                      | 187 tok\u002Fs       | -                                                | \n| TinyLlama-1.1B  | -                                                                   | 23 tok\u002Fs                       | -               | -                                                | \n\n**Ubuntu 20.04, Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz, 6核，12线程**\n\n| 模型           | [llama2.c](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fllama2.c)（OMP\u002F并行化） | **llama2.mojo**（并行化） | llama2.mojo（朴素矩阵乘法） | [llama2.py](https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.py) |\n|-----------------|---------------------------------------------------------------------|--------------------------------|----------------------------|--------------------------------------------------|\n| stories15M.bin  | 435 tok\u002Fs                                                           | 440 tok\u002Fs                      | 67.26 tok\u002Fs                | 1.3 tok\u002Fs                                        | \n| stories110M.bin | 64 tok\u002Fs                                                            | 63 tok\u002Fs                       | 9.20 tok\u002Fs                 | -                                                | \n| TinyLlama-1.1B  | 7.25 tok\u002Fs                                                          | 7.25 tok\u002Fs                     | -                          | -                                                | \n\n## 先决条件\n\n请确保你已经安装并[配置好Mojo环境](https:\u002F\u002Fdocs.modular.com\u002Fmojo\u002Fmanual\u002Fget-started\u002Findex.html)。\n\n\n## 感受🔥的魔力\n\n首先，导航到你存放项目的文件夹，并将此仓库克隆到该文件夹中：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.mojo.git\n```\n\n然后，进入仓库目录：\n\n```bash\ncd llama2.mojo\n```\n\n接下来，我们下载模型：\n\n```bash\nwget https:\u002F\u002Fhuggingface.co\u002Fkarpathy\u002Ftinyllamas\u002Fresolve\u002Fmain\u002Fstories15M.bin\n```\n\n最后，直接运行Mojo代码：\n\n```bash\nmojo llama2.mojo stories15M.bin -s 100 -n 256 -t 0.5 -i \"从前有个...\"\n```\n\n**命令行选项：**\n\n- `-s \u003Cint>` - 随机种子（默认为当前时间的毫秒数）\n- `-n \u003Cint>` - 运行步数（默认为256，0表示最大序列长度）\n- `-t \u003Cfloat>` - 温度值，范围为[0,1.0]（默认为0.9）\n- `-i \u003Cstring>` - 输入提示\n- `-z \u003Cstring>` - 分词器路径（默认为tokenizer.bin）\n- `-j \u003Cint>` - 并行工作线程数（默认为可用的物理核心数）\n- `-pc \u003Cint>` - 是否打印配置信息（0或1）\n\n**示例输出**\n\n```\n并行工作线程数：4 SIMD宽度：16\n总读取字节数：60816028 估计检查点大小：57 MB\n层数：6 | 词汇表大小：32000\n从前有个小女孩叫莉莉。她喜欢和她的玩具以及朋友们一起玩。有一天，莉莉的妈妈让她帮忙做晚饭。莉莉很高兴地照做了，拿出了盘子和叉子。\n在做饭的过程中，莉莉的妈妈又让她帮忙收拾厨房。莉莉同样很开心，开始收拾盘子。突然，她看到柜台上有一把闪亮的刀。她拿起刀给妈妈看。\n“莉莉，小心那把刀哦，它很锋利，可能会伤到你。”妈妈提醒道。\n莉莉小心翼翼地把刀放回原处。她完成了做饭的任务，心里感到非常自豪。妈妈拥抱了她，说：“莉莉，你真是个好帮手啊！谢谢你帮我！”\n每秒生成token数：148.95267649340573\n```\n\n## 引用 llama2.🔥\n\n如果你在学术研究中使用或讨论了llama2.mojo，请引用该项目以帮助提高其知名度：\n\n```\n@misc{llama2.mojo,\n  author = {Aydyn Tairov}, \n  title = {用纯Mojo单文件实现Llama2推理},\n  year = {2023},\n  month = {09},\n  howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.mojo}},\n  note = {Llama2 Mojo，MIT许可证}\n}\n```\n\n我们诚挚地请求你在发表的论文中包含指向GitHub仓库的链接。这样可以让感兴趣的读者轻松找到项目的最新更新和扩展内容。\n\n`llama2.mojo`旨在鼓励关于Transformer架构高效实现、Llama模型以及Mojo编程语言应用的学术研究。引用该项目有助于推动围绕这些主题的知识社区发展。感谢您对`llama2.mojo`的支持！\n\n## 在科研与工业界\n\n我们的项目已被学术界使用。如果您发表了使用本项目的论文或文章，请提交一个 Pull Request，我们将在此处展示。\n\n* https:\u002F\u002Farxiv.org\u002Fabs\u002F2410.17736 - MojoBench：针对 Mojo 的语言建模与基准测试\n* https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.04080 - MojoFrame：Mojo 语言中的 DataFrame 库\n* https:\u002F\u002Fieeexplore.ieee.org\u002Fabstract\u002Fdocument\u002F10883176\u002Fmetrics - Mojo：一种高性能编程语言的全面综述\n* https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.01651 - LLaMA 2 推理的微调：面向最佳效率的语言实现比较研究\n\n\n## 使用 Tinyllama-1.1B-Chat-v0.2\n\n[TinyLlama](https:\u002F\u002Fgithub.com\u002Fjzhang38\u002FTinyLlama) 是一个在 3 万亿 tokens 上训练的 11 亿参数的 Llama 模型。其紧凑的规模使其能够满足对计算和内存占用要求较低的多种应用场景。这也是我们选择它作为首个支持模型的原因。\n\n首先，导航到您存放项目的文件夹，并将此仓库克隆到该文件夹中：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.mojo.git\n```\n\n然后，进入仓库目录：\n\n```bash\ncd llama2.mojo\n```\n\n接下来，下载模型和分词器：\n\n```bash\nwget https:\u002F\u002Fhuggingface.co\u002Fkirp\u002FTinyLlama-1.1B-Chat-v0.2-bin\u002Fresolve\u002Fmain\u002Ftok_tl-chat.bin\nwget https:\u002F\u002Fhuggingface.co\u002Fkirp\u002FTinyLlama-1.1B-Chat-v0.2-bin\u002Fresolve\u002Fmain\u002Ftl-chat.bin\n```\n\n最后，直接运行 Mojo 程序：\n\n```bash\nmojo llama2.mojo tl-chat.bin \\\n    -z tok_tl-chat.bin \\\n    -n 256 -t 0 -s 100 -i \"«|im_start|>user\\n给我一个生成斐波那契数列的 Python 函数\u003C|im_end|>\\n«|im_start|>assistant\\n\"\n```\n\n**示例输出**\n\n```\n硬件线程数：6\nSIMD 向量宽度：16\n检查点大小：4,400,767,004 [4196 MB]\n层数：22\n词汇表大小：32003\n«|im_start|>user\n给我一个生成斐波那契数列的 Python 函数\u003C|im_end|>\n«|im_start|>assistant\n当然，这里有一个生成斐波那契数列的 Python 函数：\n\ndef fibonacci(n):\n    if n \u003C= 0:\n        return 0\n    elif n == 1:\n        return 1\n    else:\n        return fibonacci(n-1) + fibonacci(n-2)\n\n这个函数接受一个整数 n 作为参数，返回下一个斐波那契数。它使用递归方法来计算斐波那契数，从 0 开始逐步累加。函数会返回当前递归层级的结果，可能是 0 或者某个斐波那契数。\n```\n\n## 许可证\n\nMIT","# llama2.mojo 快速上手指南\n\n`llama2.mojo` 是一个使用纯 Mojo 语言实现的高效 Llama 2 模型推理工具。它利用 Mojo 的 SIMD 和向量化原语，在单文件内实现了比 Python 版本快近 250 倍的性能，并在多线程推理中超越了原始的 `llama2.c` 和 `llama.cpp`。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：支持 macOS (如 Apple Silicon M1\u002FM2) 或 Linux (如 Ubuntu)。\n*   **Mojo 环境**：必须安装并配置好 Mojo 编程语言环境。\n    *   推荐版本：**Mojo 0.26.2.0** 或更高版本。\n    *   安装参考：请访问 [Modular 官方文档](https:\u002F\u002Fdocs.modular.com\u002Fmojo\u002Fmanual\u002Fget-started\u002Findex.html) 进行安装和配置。\n*   **网络环境**：需要能够访问 Hugging Face 以下载模型权重文件（国内用户若访问受限，建议配置代理或使用镜像源）。\n\n## 安装步骤\n\n本项目无需复杂的编译安装过程，只需克隆仓库即可使用。\n\n1.  打开终端，进入您存放项目的目录。\n2.  克隆仓库：\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.mojo.git\n    ```\n3.  进入项目目录：\n    ```bash\n    cd llama2.mojo\n    ```\n\n## 基本使用\n\n以下以运行轻量级的 `stories15M` 模型为例，展示最基础的文本生成流程。\n\n### 1. 下载模型\n\n从 Hugging Face 下载预训练的二进制模型文件：\n\n```bash\nwget https:\u002F\u002Fhuggingface.co\u002Fkarpathy\u002Ftinyllamas\u002Fresolve\u002Fmain\u002Fstories15M.bin\n```\n\n*(注：如果下载速度慢，请尝试使用国内镜像站或代理加速)*\n\n### 2. 运行推理\n\n使用 `mojo` 命令运行脚本。以下示例将生成一段以 \"Once upon a time\" 开头的故事：\n\n```bash\nmojo llama2.mojo stories15M.bin -s 100 -n 256 -t 0.5 -i \"Once upon a time\"\n```\n\n### 参数说明\n\n*   `-s \u003Cint>`: 随机种子（默认：当前时间毫秒数）。\n*   `-n \u003Cint>`: 生成的步数\u002F令牌数（默认：256，设为 0 则使用最大序列长度）。\n*   `-t \u003Cfloat>`: 温度值，范围 [0, 1.0]，控制生成的随机性（默认：0.9）。\n*   `-i \u003Cstring>`: 输入提示词（Prompt）。\n*   `-z \u003Cstring>`: 分词器路径（默认：`tokenizer.bin`，通常与模型同目录或自动处理）。\n*   `-j \u003Cint>`: 并行工作线程数（默认：性能核心数量）。\n\n### 预期输出\n\n运行成功后，终端将显示模型配置信息及生成的文本，例如：\n\n```text\nnum parallel workers: 4  SIMD width: 16\nTotal bytes read: 60816028 Estimated checkpoint size:  57 MB\nn layers: 6 | vocab size: 32000\nOnce upon a time, there was a little girl named Lily. She loved to play with her toys and her friends...\nachieved tok\u002Fs:  148.95\n```\n\n---\n\n**进阶提示**：该项目也支持更大的模型（如 `TinyLlama-1.1B`），使用时需同时下载对应的模型文件和分词器文件，并通过 `-z` 参数指定分词器路径。","某嵌入式 AI 团队需要在资源受限的 Intel i7 边缘网关上，快速验证并部署轻量级 Llama 2 模型以处理实时日志分析。\n\n### 没有 llama2.mojo 时\n- **推理速度极慢**：使用纯 Python 实现（llama2.py）时，每秒仅能生成约 1.3 个 token，完全无法满足实时交互需求。\n- **优化门槛过高**：若想提升性能，团队必须重写底层 C\u002FC++ 代码并手动调优 SIMD 指令，开发周期长达数周。\n- **原型迭代受阻**：由于运行效率低下，开发人员无法在本地快速测试不同参数下的模型表现，严重拖慢算法验证进度。\n- **硬件算力闲置**：标准 Python 方案无法有效利用多核 CPU 的并行计算能力，导致昂贵的服务器资源大量浪费。\n\n### 使用 llama2.mojo 后\n- **性能飞跃提升**：直接运行 llama2.mojo 即可将推理速度提升至 440 token\u002Fs，相比纯 Python 方案加速近 250 倍，实现流畅对话。\n- **开发效率倍增**：无需切换语言或重写底层代码，仅需单文件 Mojo 脚本即可自动调用硬件向量化原语，当天完成部署。\n- **即时反馈闭环**：极高的运行效率让团队能在几分钟内完成多次模型微调测试，大幅缩短了从想法到验证的周期。\n- **充分释放算力**：llama2.mojo 自动利用多线程并行推理，在同等硬件条件下甚至比优化的 C 版本表现更稳健，最大化硬件投资回报。\n\nllama2.mojo 让开发者无需牺牲开发便利性，就能在单一文件中获得超越 C 语言的极致推理性能，彻底打通了边缘端大模型落地的“最后一公里”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftairov_llama2.mojo_790f1a48.png","tairov","Aydyn Tairov","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ftairov_de8f3cd4.jpg","Production Engineer",null,"London, UK","https:\u002F\u002Fgithub.com\u002Ftairov",[84,88,92,96],{"name":85,"color":86,"percentage":87},"Mojo","#ff4c1f",93.2,{"name":89,"color":90,"percentage":91},"Python","#3572A5",2.9,{"name":93,"color":94,"percentage":95},"Dockerfile","#384d54",2.4,{"name":97,"color":98,"percentage":99},"Shell","#89e051",1.4,2120,136,"2026-04-05T10:14:42","MIT",4,"macOS, Linux","非必需，主要基于 CPU 运行（利用 SIMD 和多线程优化），未提及特定 GPU 型号或 CUDA 版本需求","未说明（取决于加载的模型大小，例如 TinyLlama-1.1B 约需 4.2GB 显存\u002F内存空间）",{"notes":109,"python":110,"dependencies":111},"该项目使用 Mojo 编程语言而非 Python，需预先安装并配置 Mojo 环境。支持的故事模型（stories）和 TinyLlama 模型需单独下载二进制文件。性能高度依赖 CPU 的核心数和 SIMD 宽度，在 Apple M1 Max 和多核 Intel CPU 上表现优异。","不需要 Python 运行环境（使用 Mojo 语言）",[112],"Mojo 0.26.2.0+",[13,26],[115,116,117,118,119,120,121,122,123,124,125],"inference","llama","llama2","modular","mojo","performance","simd","vectorization","parallelize","tensor","transformer-architecture","2026-03-27T02:49:30.150509","2026-04-06T12:04:30.755195",[129,134,139,144,149,154],{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},18984,"运行 `mojo llama2.mojo` 时出现 'Unhandled exception caught during execution' 或找不到文件的错误，如何解决？","这通常是因为仓库中缺少必要的 `tokenizer.bin` 文件。请尝试拉取最新的代码变更（pull latest changes），因为维护者已修复了该文件缺失的问题。如果问题依旧，请确保按照说明正确下载了模型和分词器文件，并检查文件路径是否正确。","https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.mojo\u002Fissues\u002F2",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},18985,"在 Mac M1 上构建时遇到 'error: unable to locate module read' 错误怎么办？","这是一个已知的兼容性问题。虽然官方正在处理相关的功能请求（如 mmap 支持），但用户报告称 TinyLlama 模型在 M1 Max (32GB RAM) 上可以正常运行。建议尝试直接运行编译后的二进制文件而不是重新构建模块，或者参考社区提供的变通方案（如使用特定的运行命令 `.\u002Fllama2 ...`）。","https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.mojo\u002Fissues\u002F51",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},18986,"如何提高 Matmul（矩阵乘法）的执行速度？多核并行化反而变慢了怎么办？","如果发现多核 + 向量化的版本比仅向量化的版本慢，可以尝试调整 SIMD 寄存器数量。具体来说，可以通过修改代码中的 `nelts` 值（例如将其设置为 2 倍或更高，如 16, 32, 64）来获得额外的加速效果。这是因为 `simdwidthof` 获取的基础值可能需要乘以特定系数才能发挥最佳性能。","https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.mojo\u002Fissues\u002F5",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},18987,"运行模型时遇到内存不足或不稳定的情况，有什么解决办法？","如果遇到不稳定或崩溃，首先尝试增加系统可用 RAM。此外，这可能是因为克隆了不稳定的代码版本，建议更新到最新代码。维护者还提到后续会尝试对模型进行量化（quantize）以降低内存需求。确保使用的命令参数正确，例如指定正确的 token 文件 `-z`。","https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.mojo\u002Fissues\u002F27",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},18988,"如何在 llama2.c 中运行 TinyLlama 1.1B 模型？","需要启用对 TinyLlama 的支持。用户可以参考专门的分支或仓库（如 magician-blue\u002Fllama2.c），从中复制 `run.c` 文件替换当前文件。确保下载了对应的 `tl-chat.bin` 模型文件和 `tok_tl-chat.bin` 分词器文件，并使用正确的提示格式（如 `\u003C|im_start|>user...`）进行推理。","https:\u002F\u002Fgithub.com\u002Ftairov\u002Fllama2.mojo\u002Fissues\u002F32",{"id":155,"question_zh":156,"answer_zh":157,"source_url":153},18989,"TinyLlama 模型输出乱码或重复字符（如 '|-', '[bom' 等）是什么原因？","这通常是由于分词器（tokenizer）不匹配或模型权重转换不正确导致的。TinyLlama 使用的是 GQA 架构且未绑定嵌入层（not tie_embedding），需要确保使用的分词器与 HuggingFace 的版本一致且稳定。建议检查模型转换过程，并确认加载的分词器文件（`.bin`）是专门为 TinyLlama 生成的，而不是通用的 Llama2 分词器。",[]]