[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-techascent--tech.ml.dataset":3,"tool-techascent--tech.ml.dataset":61},[4,18,28,36,45,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":24,"last_commit_at":25,"category_tags":26,"status":17},9989,"n8n","n8n-io\u002Fn8n","n8n 是一款面向技术团队的公平代码（fair-code）工作流自动化平台，旨在让用户在享受低代码快速构建便利的同时，保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点，帮助用户轻松连接 400 多种应用与服务，实现复杂业务流程的自动化。\n\nn8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”：既可以通过直观的可视化界面拖拽节点搭建流程，也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外，n8n 原生集成了基于 LangChain 的 AI 能力，支持用户利用自有数据和模型构建智能体工作流。在部署方面，n8n 提供极高的自由度，支持完全自托管以保障数据隐私和控制权，也提供云端服务选项。凭借活跃的社区生态和数百个现成模板，n8n 让构建强大且可控的自动化系统变得简单高效。",184740,2,"2026-04-19T23:22:26",[16,14,13,15,27],"插件",{"id":29,"name":30,"github_repo":31,"description_zh":32,"stars":33,"difficulty_score":10,"last_commit_at":34,"category_tags":35,"status":17},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,"2026-04-05T11:01:52",[14,15,13],{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":24,"last_commit_at":42,"category_tags":43,"status":17},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 真正成长为懂上",161147,"2026-04-19T23:31:47",[14,13,44],"语言模型",{"id":46,"name":47,"github_repo":48,"description_zh":49,"stars":50,"difficulty_score":24,"last_commit_at":51,"category_tags":52,"status":17},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":24,"last_commit_at":59,"category_tags":60,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[27,13,15,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":77,"owner_twitter":76,"owner_website":78,"owner_url":79,"languages":80,"stars":103,"forks":104,"last_commit_at":105,"license":106,"difficulty_score":24,"env_os":107,"env_gpu":108,"env_ram":107,"env_deps":109,"category_tags":115,"github_topics":117,"view_count":24,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":127,"updated_at":128,"faqs":129,"releases":159},9906,"techascent\u002Ftech.ml.dataset","tech.ml.dataset","A Clojure high performance data processing system","tech.ml.dataset 是一个专为 Clojure 语言打造的高性能表格数据处理库，其定位类似于 Python 中的 Pandas 或 R 语言里的 data.table。它主要解决了在 JVM 平台上进行大规模数据密集型任务时，如何兼顾开发效率与运行性能的难题。\n\n对于需要在 Java 虚拟机生态中处理复杂数据的 Clojure 开发者及数据工程师而言，tech.ml.dataset 提供了极佳的解决方案。其核心亮点在于采用了列式存储、原始类型数组、紧凑的日期时间类型以及字符串表等技术，显著降低了内存占用并提升了运算速度。与 Python 或 R 中常见的可变数据结构不同，tech.ml.dataset 坚持函数式设计理念，这意味着数据集在操作过程中不可变，使得代码逻辑更清晰、更易于推导和维护，有效减少了因状态变化引发的潜在错误。无论是进行数据清洗、转换还是分析，它都能帮助开发者以简洁优雅的方式构建高效的数据处理流程，是 JVM 生态下不可或缺的数据处理利器。","[![Clojars Project](https:\u002F\u002Fimg.shields.io\u002Fclojars\u002Fv\u002Ftechascent\u002Ftech.ml.dataset.svg)](https:\u002F\u002Fclojars.org\u002Ftechascent\u002Ftech.ml.dataset)\n![CI](https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftech.ml.dataset\u002Factions\u002Fworkflows\u002Ftest.yml\u002Fbadge.svg)\n![CI devcontainer](https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftech.ml.dataset\u002Factions\u002Fworkflows\u002Ftest-devcontainer.yml\u002Fbadge.svg)\n\n# tech.ml.dataset\n\n![TMD Logo](logo.png \"TMD\")\n\n`tech.ml.dataset` (TMD) is a Clojure library for tabular data processing similar to Python's Pandas, or R's `data.table`. It supports pragmatic data-intensive work on the JVM by providing powerful abstractions that simplify implementing efficient solutions to real problems. Datasets [shrink in memory](https:\u002F\u002Fgist.github.com\u002Fcnuernber\u002F26b88ed259dd1d0dc6ac2aa138eecf37) through columnar storage and the use of primitive arrays, packed datetime types, and string tables.\n\nUnlike in Python or R, TMD datasets are _functional_, which means they're easier to reason about.\n\n## Installing\n\nInstallation instructions for your favorite build system (lein, deps.edn, etc...) can be found at Clojars, where the library is hosted:\n\n[![Clojars Project](https:\u002F\u002Fimg.shields.io\u002Fclojars\u002Fv\u002Ftechascent\u002Ftech.ml.dataset.svg)](https:\u002F\u002Fclojars.org\u002Ftechascent\u002Ftech.ml.dataset)\n\n - [https:\u002F\u002Fclojars.org\u002Ftechascent\u002Ftech.ml.dataset](https:\u002F\u002Fclojars.org\u002Ftechascent\u002Ftech.ml.dataset)\n\n## Verifying Installation\n\n```clojure\nuser> (require 'tech.v3.dataset)\nnil\nuser> (->> (System\u002FgetProperties)\n           (map (fn [[k v]] {:k k :v (apply str (take 40 (str v)))}))\n           (tech.v3.dataset\u002F->>dataset {:dataset-name \"My Truncated System Properties\"}))\n\nMy Truncated System Properties [53 2]:\n\n|                         :k |                                       :v |\n|----------------------------|------------------------------------------|\n|                sun.desktop |                                    gnome |\n|                awt.toolkit |                     sun.awt.X11.XToolkit |\n| java.specification.version |                                       11 |\n|            sun.cpu.isalist |                                          |\n|           sun.jnu.encoding |                                    UTF-8 |\n|            java.class.path | src:resources:target\u002Fclasses:\u002Fhome\u002Fharol |\n|             java.vm.vendor |                                   Ubuntu |\n|        sun.arch.data.model |                                       64 |\n|            java.vendor.url |                      https:\u002F\u002Fubuntu.com\u002F |\n|              user.timezone |                           America\u002FDenver |\n|                        ... |                                      ... |\n|                    os.arch |                                    amd64 |\n| java.vm.specification.name |       Java Virtual Machine Specification |\n|        java.awt.printerjob |                   sun.print.PSPrinterJob |\n|         sun.os.patch.level |                                  unknown |\n|          java.library.path | \u002Fusr\u002Fjava\u002Fpackages\u002Flib:\u002Fusr\u002Flib\u002Fx86_64-l |\n|               java.vm.info |                      mixed mode, sharing |\n|                java.vendor |                                   Ubuntu |\n|            java.vm.version |      11.0.17+8-post-Ubuntu-1ubuntu222.04 |\n|    sun.io.unicode.encoding |                            UnicodeLittle |\n|        apple.awt.UIElement |                                     true |\n|         java.class.version |                                     55.0 |\n```\n\n## 📚 Documentation 📚\n\nThe best place to start is the \"Getting Started\" topic in the documentation: [https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F000-getting-started.html](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F000-getting-started.html)\n\nThe \"Walkthrough\" topic provides long-form examples of processing real data: [https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F100-walkthrough.html](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F100-walkthrough.html)\n\nThe \"Quick Reference\" topic summarizes many of the most frequently used functions: [https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F200-quick-reference.html](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F200-quick-reference.html)\n\nThe API docs document every available function: [https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F)\n\nThe provided Java API ([javadoc](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002Fjavadoc\u002Ftech\u002Fv3\u002FTMD.html) \u002F [with frames](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002Fjavadoc\u002Findex.html)) and sample program ([source](java_test\u002Fjava\u002Fjtest\u002FTMDDemo.java)) show how to use TMD from Java.\n\n## Questions \u002F Community\n\n* Log an [issue](https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftech.ml.dataset\u002Fissues)!\n* Visit the [zulip stream](https:\u002F\u002Fclojurians.zulipchat.com\u002F#narrow\u002Fstream\u002F236259-tech.2Eml.2Edataset.2Edev).\n* Or the [slack data science channel](https:\u002F\u002Fclojurians.slack.com\u002Farchives\u002FC0BQDEJ8M).\n\n-----\n\n### Related Projects and Notes\n\n* An alternative cutting-edge api with some important extra features is available via [tablecloth](https:\u002F\u002Fgithub.com\u002Fscicloj\u002Ftablecloth).\n* [tech.v3.datatype](https:\u002F\u002Fgithub.com\u002Fcnuernber\u002Fdtype-next) provides the underlying numeric subsystem to TMD.\n* Simple regression\u002Fclassification machine learning pathways are available in [tech.ml](https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftech.ml).\n* Some [independent benchmarks](https:\u002F\u002Fgithub.com\u002Fzero-one-group\u002Fgeni-performance-benchmark\u002F) indicating TMD's _speed_.\n* Bindings to a [high performance in-process SQL database](https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftmducken).\n* A Graal native [example project](https:\u002F\u002Fgithub.com\u002Fcnuernber\u002Fds-graal).\n* The [scicloj.ml tutorials](https:\u002F\u002Fgithub.com\u002Fscicloj\u002Fscicloj.ml-tutorials) may be a good way to jump straight into data science.\n* [Comparison](https:\u002F\u002Fgithub.com\u002Fgenmeblog\u002Ftechtest\u002Fblob\u002Fmaster\u002Fsrc\u002Ftechtest\u002Fdatatable_dplyr.clj) between R's `data.table`, R's `dplyr`, and an older version of TMD.\n* Another overview of some of the available functions from genme: [Some Functions](https:\u002F\u002Fgithub.com\u002Fgenmeblog\u002Ftechtest\u002Fwiki\u002FSummary-of-functions)\n\n### License\n\nCopyright © 2023 Complements of TechAscent, LLC\n\nDistributed under the Eclipse Public License either version 1.0 or (at\nyour option) any later version.\n","[![Clojars 项目](https:\u002F\u002Fimg.shields.io\u002Fclojars\u002Fv\u002Ftechascent\u002Ftech.ml.dataset.svg)](https:\u002F\u002Fclojars.org\u002Ftechascent\u002Ftech.ml.dataset)\n![CI](https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftech.ml.dataset\u002Factions\u002Fworkflows\u002Ftest.yml\u002Fbadge.svg)\n![CI devcontainer](https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftech.ml.dataset\u002Factions\u002Fworkflows\u002Ftest-devcontainer.yml\u002Fbadge.svg)\n\n# tech.ml.dataset\n\n![TMD Logo](logo.png \"TMD\")\n\n`tech.ml.dataset`（TMD）是一个 Clojure 库，用于表格数据处理，类似于 Python 的 Pandas 或 R 的 `data.table`。它通过提供强大的抽象，简化了在 JVM 上实现高效解决方案的过程，从而支持实用的数据密集型工作。数据集通过列式存储、使用原始数组、紧凑的日期时间类型和字符串表，在内存中显著减少占用空间。\n\n与 Python 或 R 不同，TMD 数据集是**函数式的**，这意味着它们更容易理解和推理。\n\n## 安装\n\n您可以在 Clojars 上找到针对您喜欢的构建系统的安装说明（lein、deps.edn 等），该库托管在 Clojars 上：\n\n[![Clojars 项目](https:\u002F\u002Fimg.shields.io\u002Fclojars\u002Fv\u002Ftechascent\u002Ftech.ml.dataset.svg)](https:\u002F\u002Fclojars.org\u002Ftechascent\u002Ftech.ml.dataset)\n\n- [https:\u002F\u002Fclojars.org\u002Ftechascent\u002Ftech.ml.dataset](https:\u002F\u002Fclojars.org\u002Ftechascent\u002Ftech.ml.dataset)\n\n## 验证安装\n\n```clojure\nuser> (require 'tech.v3.dataset)\nnil\nuser> (->> (System\u002FgetProperties)\n           (map (fn [[k v]] {:k k :v (apply str (take 40 (str v)))}))\n           (tech.v3.dataset\u002F->>dataset {:dataset-name \"My Truncated System Properties\"}))\n\nMy Truncated System Properties [53 2]:\n\n|                         :k |                                       :v |\n|----------------------------|------------------------------------------|\n|                sun.desktop |                                    gnome |\n|                awt.toolkit |                     sun.awt.X11.XToolkit |\n| java.specification.version |                                       11 |\n|            sun.cpu.isalist |                                          |\n|           sun.jnu.encoding |                                    UTF-8 |\n|            java.class.path | src:resources:target\u002Fclasses:\u002Fhome\u002Fharol |\n|             java.vm.vendor |                                   Ubuntu |\n|        sun.arch.data.model |                                       64 |\n|            java.vendor.url |                      https:\u002F\u002Fubuntu.com\u002F |\n|              user.timezone |                           America\u002FDenver |\n|                        ... |                                      ... |\n|                    os.arch |                                    amd64 |\n| java.vm.specification.name |       Java Virtual Machine Specification |\n|        java.awt.printerjob |                   sun.print.PSPrinterJob |\n|         sun.os.patch.level |                                  unknown |\n|          java.librarypath | \u002Fusr\u002Fjava\u002Fpackages\u002Flib:\u002Fusr\u002Flib\u002Fx86_64-l |\n|               java.vm.info |                      mixed mode, sharing |\n|                java.vendor |                                   Ubuntu |\n|            java.vm.version |      11.0.17+8-post-Ubuntu-1ubuntu222.04 |\n|    sun.io.unicode.encoding |                            UnicodeLittle |\n|        apple.awt.UIElement |                                     true |\n|         java.class.version |                                     55.0 |\n```\n\n## 📚 文档 📚\n\n最好的起点是文档中的“入门”部分：[https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F000-getting-started.html](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F000-getting-started.html)\n\n“演练”部分提供了处理真实数据的详细示例：[https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F100-walkthrough.html](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F100-walkthrough.html)\n\n“快速参考”部分总结了许多最常用的功能：[https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F200-quick-reference.html](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F200-quick-reference.html)\n\nAPI 文档记录了所有可用的函数：[https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F)\n\n提供的 Java API（[javadoc](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002Fjavadoc\u002Ftech\u002Fv3\u002FTMD.html) \u002F [带框架](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002Fjavadoc\u002Findex.html)）和示例程序（[源代码](java_test\u002Fjava\u002Fjtest\u002FTMDDemo.java)）展示了如何从 Java 中使用 TMD。\n\n## 问题 \u002F 社区\n\n* 提交一个 [issue](https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftech.ml.dataset\u002Fissues)!\n* 访问 [zulip 讨论组](https:\u002F\u002Fclojurians.zulipchat.com\u002F#narrow\u002Fstream\u002F236259-tech.2Eml.2Edataset.2Edev).\n* 或者访问 [slack 数据科学频道](https:\u002F\u002Fclojurians.slack.com\u002Farchives\u002FC0BQDEJ8M).\n\n-----\n\n### 相关项目和注释\n\n* 另一个具有重要附加功能的前沿 API 可以通过 [tablecloth](https:\u002F\u002Fgithub.com\u002Fscicloj\u002Ftablecloth) 获得。\n* [tech.v3.datatype](https:\u002F\u002Fgithub.com\u002Fcnuernber\u002Fdtype-next) 为 TMD 提供了底层的数值子系统。\n* 在 [tech.ml](https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftech.ml) 中可以找到简单的回归\u002F分类机器学习路径。\n* 一些 [独立基准测试](https:\u002F\u002Fgithub.com\u002Fzero-one-group\u002Fgeni-performance-benchmark\u002F) 表明了 TMD 的 _速度_。\n* 与一个 [高性能进程内 SQL 数据库](https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftmducken) 的绑定。\n* 一个 Graal 原生 [示例项目](https:\u002F\u002Fgithub.com\u002Fcnuernber\u002Fds-graal)。\n* [scicloj.ml 教程](https:\u002F\u002Fgithub.com\u002Fscicloj\u002Fscicloj.ml-tutorials) 可能是直接进入数据科学的好方法。\n* R 的 `data.table`、R 的 `dplyr` 和 TMD 的旧版本之间的 [比较](https:\u002F\u002Fgithub.com\u002Fgenmeblog\u002Ftechtest\u002Fblob\u002Fmaster\u002Fsrc\u002Ftechtest\u002Fdatatable_dplyr.clj)。\n* genme 对一些可用功能的另一个概述：[Some Functions](https:\u002F\u002Fgithub.com\u002Fgenmeblog\u002Ftechtest\u002Fwiki\u002FSummary-of-functions)\n\n### 许可证\n\n版权所有 © 2023 TechAscent, LLC\n\n根据 Eclipse 公共许可证第 1.0 版或（由您选择）任何后续版本进行分发。","# tech.ml.dataset 快速上手指南\n\n`tech.ml.dataset` (简称 TMD) 是一个用于 Clojure 的表格数据处理库，功能类似于 Python 的 Pandas 或 R 的 `data.table`。它专为 JVM 设计，通过列式存储、原始数组和字符串表等技术优化内存占用，并提供函数式编程接口，使数据操作更易于推理和维护。\n\n## 环境准备\n\n*   **系统要求**:\n    *   JDK 11 或更高版本（推荐 JDK 17+）。\n    *   支持 Linux, macOS, Windows。\n*   **前置依赖**:\n    *   已安装 Clojure 构建工具，如 [Leiningen](https:\u002F\u002Fleiningen.org\u002F) 或 [deps.edn](https:\u002F\u002Fclojure.org\u002Fguides\u002Fdeps_and_cli)。\n    *   无需额外安装系统级依赖，TMD 纯 Java\u002FClojure 实现。\n\n> **注意**：目前该库主要托管在 Clojars 上，国内暂无官方镜像源。如遇下载缓慢，可配置 Maven\u002FGradle 代理或使用国内通用的 Clojars 镜像（如有维护）。\n\n## 安装步骤\n\n根据你的构建工具，在配置文件中添加以下依赖：\n\n### 方案 A: Leiningen (`project.clj`)\n\n在 `:dependencies` 向量中添加：\n\n```clojure\n[techascent\u002Ftech.ml.dataset \"7.0.0\"] ;; 请替换为 Clojars 上的最新版本号\n```\n\n### 方案 B: deps.edn (`deps.edn`)\n\n在 `:deps` 映射中添加：\n\n```clojure\n{:deps {techascent\u002Ftech.ml.dataset {:mvn\u002Fversion \"7.0.0\"}}} ;; 请替换为最新版本号\n```\n\n*获取最新版本号请访问：[https:\u002F\u002Fclojars.org\u002Ftechascent\u002Ftech.ml.dataset](https:\u002F\u002Fclojars.org\u002Ftechascent\u002Ftech.ml.dataset)*\n\n## 基本使用\n\n加载命名空间后，你可以立即创建和操作数据集。以下示例演示了如何将 Java 系统属性转换为数据集并预览前几行。\n\n### 1. 引入命名空间\n\n```clojure\n(require 'tech.v3.dataset)\n```\n\n### 2. 创建并查看数据集\n\n运行以下代码将创建一个包含截断系统属性的数据集：\n\n```clojure\n(->> (System\u002FgetProperties)\n     (map (fn [[k v]] {:k k :v (apply str (take 40 (str v)))}))\n     (tech.v3.dataset\u002F->>dataset {:dataset-name \"My Truncated System Properties\"}))\n```\n\n**输出示例：**\n\n```text\nMy Truncated System Properties [53 2]:\n\n|                         :k |                                       :v |\n|----------------------------|------------------------------------------|\n|                sun.desktop |                                    gnome |\n|                awt.toolkit |                     sun.awt.X11.XToolkit |\n| java.specification.version |                                       11 |\n|            sun.cpu.isalist |                                          |\n|           sun.jnu.encoding |                                    UTF-8 |\n|            java.class.path | src:resources:target\u002Fclasses:\u002Fhome\u002Fharol |\n|             java.vm.vendor |                                   Ubuntu |\n|        sun.arch.data.model |                                       64 |\n|            java.vendor.url |                      https:\u002F\u002Fubuntu.com\u002F |\n|              user.timezone |                           America\u002FDenver |\n|                        ... |                                      ... |\n```\n\n### 3. 下一步学习\n\n*   **入门教程**: [Getting Started](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F000-getting-started.html)\n*   **实战演练**: [Walkthrough](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F100-walkthrough.html)\n*   **函数速查**: [Quick Reference](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F200-quick-reference.html)\n*   **完整 API 文档**: [API Docs](https:\u002F\u002Ftechascent.github.io\u002Ftech.ml.dataset\u002F)","某金融科技公司的数据工程师需要在 JVM 环境下，每日处理千万级的高频交易日志以生成实时风控报表。\n\n### 没有 tech.ml.dataset 时\n- **内存爆炸**：直接使用 Java 对象或通用集合处理表格数据，导致堆内存迅速耗尽，频繁触发 GC 甚至 OOM。\n- **代码冗长**：缺乏类似 Pandas 的高级抽象，清洗、聚合和转换操作需编写大量样板代码，开发效率低下。\n- **调试困难**：数据处理过程充满可变状态，难以追踪中间结果，逻辑错误排查如同“大海捞针”。\n- **类型不安全**：原始数据类型混用，运行时容易因类型转换错误导致程序崩溃。\n\n### 使用 tech.ml.dataset 后\n- **极致压缩**：利用列式存储和原始数组（Primitive Arrays），内存占用降低数倍，轻松在单机处理亿行数据。\n- **函数式简洁**：提供类似 Pandas 的链式调用 API，几行 Clojure 代码即可替代数十行 Java 逻辑，清晰表达业务意图。\n- **不可变安全**：数据集默认不可变，每一步转换都生成新实例，彻底消除副作用，让并发处理和逻辑推理变得简单可靠。\n- **智能类型推断**：自动识别并优化日期、字符串和数值类型，避免手动转换错误，提升运行稳定性。\n\ntech.ml.dataset 让 Clojure 开发者在 JVM 上也能享受如 Python Pandas 般高效流畅的数据分析体验，同时兼具函数式编程的安全与性能优势。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ftechascent_tech.ml.dataset_6252a174.png","techascent","TechAscent","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ftechascent_68b0bfc7.png","Purveyors of delightful software solutions",null,"info@techascent.com","https:\u002F\u002Ftechascent.com","https:\u002F\u002Fgithub.com\u002Ftechascent",[81,85,89,93,96,100],{"name":82,"color":83,"percentage":84},"Clojure","#db5855",87.4,{"name":86,"color":87,"percentage":88},"Java","#b07219",11.6,{"name":90,"color":91,"percentage":92},"Python","#3572A5",0.4,{"name":94,"color":95,"percentage":92},"Shell","#89e051",{"name":97,"color":98,"percentage":99},"Dockerfile","#384d54",0.1,{"name":101,"color":102,"percentage":99},"R","#198CE7",741,34,"2026-04-17T15:01:37","EPL-1.0","未说明","不需要",{"notes":110,"python":111,"dependencies":112},"这是一个 Clojure 库，运行在 JVM 上，非 Python 工具。示例显示其在 Java 11 环境下运行。支持通过 GraalVM 编译为原生可执行文件。主要依赖 tech.v3.datatype 作为底层数值子系统。","不适用",[82,113,114],"JDK 11+","tech.v3.datatype",[116,16,14],"其他",[118,119,120,121,122,123,124,125,126],"clojure","dataframe","csv","xlsx","datascience","machine-learning","dataset","etl-pipeline","java","2026-03-27T02:49:30.150509","2026-04-20T10:22:47.712342",[130,135,140,145,150,155],{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},44484,"如何高效存储和处理大型文本语料库（例如 NLP 任务中的百万行长文本列）？","对于超出内存的大型数据集，推荐使用 Arrow 作为后端存储。可以通过解析选项将 CSV 文件直接读入 Arrow 支持的 dataset 中，利用 Arrow 的批处理机制和原地访问能力来解决“大于内存”的问题。虽然目前集成会将数据复制到 Java 向量，但通过研究可以实现对 Arrow 数据的原地访问。此外，对于字符串列，如果重复率低，避免使用字典编码可以避免内存问题并提升流式处理速度。","https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftech.ml.dataset\u002Fissues\u002F102",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},44485,"如何合并（concat）具有不同数据类型（如 :int32 和 :int64）的列？","可以使用新发布的 `column-cast` 函数。这是一个强大的类型转换工具，它会在转换前自动处理打包数据（如 packed-local-date），并支持并行化处理以提高速度。你可以指定目标数据类型，如果不提供转换函数，它会对字符串列使用解析系统。用法示例：先使用 `column-cast` 将列统一转换为较宽的数据类型（如 :int64），然后再进行合并操作。","https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftech.ml.dataset\u002Fissues\u002F64",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},44486,"使用 `read-stream-dataset-inplace` 读取大量 Arrow 文件时出现内存泄漏（OutOfMemoryError）怎么办？","该问题在版本 `5.00-alpha-12` 中已得到修复，升级后既能大幅提升速度又能避免垃圾回收（GC）压力。问题的根源在于字典（dictionaries）是从文件中预先加载的，而无法按需加载。对于大文件，如果字符串列的重复计数较低，建议避免对字符串列使用字典编码，这样可以避免此类内存问题并启用更快的流式处理路径。","https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftech.ml.dataset\u002Fissues\u002F149",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},44487,"`replace-missing` 函数使用 `:mid` 策略时，为什么结果看起来像 `:down` 策略（向前填充）而不是取中间值？","这是预期行为。`:mid` 策略的逻辑是：首先执行向前填充（down fill），然后执行向后填充（up fill），最后取两者的平均值。对于整数列，由于平均值可能产生小数，系统会将其向下取整或截断，导致结果看起来与向前填充相似。对于浮点数列，您可以观察到明显的插值效果（例如 3 和 6 之间的 nil 会变成 4.5）。对于字符串列，由于无法计算平均值，逻辑会有所不同或回退到填充策略。","https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftech.ml.dataset\u002Fissues\u002F184",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},44488,"如何在执行左连接（left join）时优化空列（missing values）的内存占用？","库中已经实现了轻量级的空列（flyweight empty column）概念。它不需要手动创建充满缺失值的集合，而是通过一个可计数的对象在 O(1) 空间内投影任意范围的缺失值。当读取器或序列请求数据时，它会检查索引是否在范围内并返回相应的缺失标记。这特别适用于左外连接中右侧表没有匹配项的情况，无需为所有缺失条目分配实际内存。","https:\u002F\u002Fgithub.com\u002Ftechascent\u002Ftech.ml.dataset\u002Fissues\u002F21",{"id":156,"question_zh":157,"answer_zh":158,"source_url":139},44489,"在进行列类型转换时，如何处理从浮点数到整数的转换以及潜在的精度丢失？","从浮点数到整数的转换不能自动安全完成，需要用户干预。建议使用 `column-cast` 函数并显式提供转换函数（例如 `(Math\u002Fround (double %))`）。该函数允许用户定义具体的转换逻辑，如果 `datatype` 库接受结果则完成转换，否则抛出异常提示用户修复。这种机制确保了类型转换的明确性和安全性，避免了隐式转换带来的数据错误。",[]]