kotlindl

GitHub
1.6k 112 简单 1 次阅读 5天前Apache-2.0开发框架
AI 解读 由 AI 自动生成,仅供参考

KotlinDL 是一款专为 Kotlin 开发者打造的高级深度学习框架,其设计理念深受流行的 Keras 启发。它旨在降低 JVM 和 Android 生态中构建人工智能应用的门槛,让开发者能够使用熟悉的 Kotlin 语法,轻松完成从模型训练、迁移学习到推理部署的全流程工作。

传统上,在 Java 或 Kotlin 环境中进行深度学习开发往往需要调用复杂的底层 API 或依赖 Python 环境,这增加了工程集成的难度。KotlinDL 通过封装 TensorFlow Java 和 ONNX Runtime 底层能力,提供了简洁流畅的链式调用接口。开发者只需几行代码即可定义如 LeNet 这样的经典卷积神经网络,并快速完成编译、训练与评估,极大地简化了生产环境中的模型落地过程。

此外,KotlinDL 支持直接导入现有的 Keras 和 ONNX 模型进行推理,方便复用社区丰富的预训练资源。它不仅适合希望将 AI 功能集成到移动端或服务端的 Android 及后端工程师,也适用于偏好类型安全语言的研究人员。借助其对 GPU 加速的支持以及与 Jupyter Notebook 的良好兼容,KotlinDL 让深度学习在 Kotlin 生态中变得更加直观、高效且易于维护。

使用场景

某安卓开发团队需要在移动端集成一个手写数字识别功能,但团队成员主要熟悉 Kotlin 语言,缺乏 Python 深度学习背景。

没有 kotlindl 时

  • 语言割裂严重:必须使用 Python 训练模型再转换为 TensorFlow Lite,导致 JVM 开发者需跨语言协作,沟通成本极高。
  • 环境配置繁琐:需在服务器搭建复杂的 Python 依赖环境(如 CUDA、特定版 TensorFlow),维护难度大且容易出错。
  • 调试困难:无法在 Android Studio 中直接断点调试模型构建过程,出现维度错误或参数问题时难以定位根源。
  • 部署流程冗长:从模型训练到嵌入安卓应用需经过多次格式转换和中间件处理,迭代周期长达数天。

使用 kotlindl 后

  • 纯 Kotlin 开发:直接使用 Kotlin 代码定义如 LeNet 般的卷积神经网络,无需切换语言,团队可独立闭环完成开发。
  • 原生集成体验:依托 TensorFlow Java API 和 ONNX Runtime,直接在现有 Gradle 项目中引入依赖,免去外部环境配置。
  • IDE 友好调试:利用 IntelliJ IDEA 或 Android Studio 的类型检查和断点功能,实时验证模型结构与数据流向。
  • 高效端侧部署:支持直接在 JVM/Android 环境中训练或加载预训练模型,将“训练 - 验证 - 部署”流程缩短至几小时内。

kotlindl 让 JVM 和安卓开发者能用熟悉的语言无缝构建与部署深度学习模型,彻底打破了算法工程化的语言壁垒。

运行环境要求

操作系统
  • Windows
  • Linux
  • macOS
GPU
  • 非必需
  • 若需启用 GPU 训练/推理,必须使用 NVIDIA 显卡
  • 文中明确提及 Windows 下需 CUDA 10.0 和 cuDNN 7.6.3(对应 TensorFlow 1.15),ONNX Runtime GPU 支持需额外配置
  • 显存大小未说明
内存

未说明

依赖
notes1. 该工具是基于 Kotlin 的深度学习 API,运行在 JVM 或 Android 上,不需要 Python 环境。 2. 不同版本的 KotlinDL 对 JDK 版本要求不同:0.1.x-0.4.x 需要 JDK 8,0.5.0 及以上需要 JDK 11。 3. Android 项目仅支持使用 ONNX 模块进行模型推理,不支持训练。 4. 若在 Windows 上使用 GPU,需手动安装 CUDA 10.0、cuDNN 7.6.3 以及 C++ 运行库。 5. 最新稳定版为 0.5.2,需通过 Maven Central 获取依赖。
python不需要 (基于 JVM/Kotlin)
Kotlin >= 1.8.21
JDK >= 11 (版本 0.5.0+)
TensorFlow Java API 1.15
ONNX Runtime API (版本随 KotlinDL 版本变化,如 1.14.0-1.16.0)
libtensorflow:1.15.0 (GPU 模式必需)
libtensorflow_jni_gpu:1.15.0 (GPU 模式必需)
kotlindl hero image

快速开始

KotlinDL:Kotlin 高级深度学习 API 官方 JetBrains 项目

Kotlin Slack 频道

KotlinDL 是一个用 Kotlin 编写的高级深度学习 API,其灵感来源于 Keras。在底层,它使用 TensorFlow Java API 和 ONNX Runtime 的 Java API。KotlinDL 提供了简洁的 API,可用于从头开始训练深度学习模型、导入现有的 Keras 和 ONNX 模型进行推理,以及利用迁移学习将现有的预训练模型调整到您的任务中。

该项目旨在让 JVM 和 Android 开发者更轻松地进行深度学习,并简化深度学习模型在生产环境中的部署。

以下是在 KotlinDL 中经典卷积神经网络 LeNet 的示例:

private const val EPOCHS = 3
private const val TRAINING_BATCH_SIZE = 1000
private const val NUM_CHANNELS = 1L
private const val IMAGE_SIZE = 28L
private const val SEED = 12L
private const val TEST_BATCH_SIZE = 1000

private val lenet5Classic = Sequential.of(
    Input(
        IMAGE_SIZE,
        IMAGE_SIZE,
        NUM_CHANNELS
    ),
    Conv2D(
        filters = 6,
        kernelSize = intArrayOf(5, 5),
        strides = intArrayOf(1, 1, 1, 1),
        activation = Activations.Tanh,
        kernelInitializer = GlorotNormal(SEED),
        biasInitializer = Zeros(),
        padding = ConvPadding.SAME
    ),
    AvgPool2D(
        poolSize = intArrayOf(1, 2, 2, 1),
        strides = intArrayOf(1, 2, 2, 1),
        padding = ConvPadding.VALID
    ),
    Conv2D(
        filters = 16,
        kernelSize = intArrayOf(5, 5),
        strides = intArrayOf(1, 1, 1, 1),
        activation = Activations.Tanh,
        kernelInitializer = GlorotNormal(SEED),
        biasInitializer = Zeros(),
        padding = ConvPadding.SAME
    ),
    AvgPool2D(
        poolSize = intArrayOf(1, 2, 2, 1),
        strides = intArrayOf(1, 2, 2, 1),
        padding = ConvPadding.VALID
    ),
    Flatten(), // 3136
    Dense(
        outputSize = 120,
        activation = Activations.Tanh,
        kernelInitializer = GlorotNormal(SEED),
        biasInitializer = Constant(0.1f)
    ),
    Dense(
        outputSize = 84,
        activation = Activations.Tanh,
        kernelInitializer = GlorotNormal(SEED),
        biasInitializer = Constant(0.1f)
    ),
    Dense(
        outputSize = 10,
        activation = Activations.Linear,
        kernelInitializer = GlorotNormal(SEED),
        biasInitializer = Constant(0.1f)
    )
)


fun main() {
    val (train, test) = mnist()
    
    lenet5Classic.use {
        it.compile(
            optimizer = Adam(clipGradient = ClipGradientByValue(0.1f)),
            loss = Losses.SOFT_MAX_CROSS_ENTROPY_WITH_LOGITS,
            metric = Metrics.ACCURACY
        )
    
        it.logSummary()
    
        it.fit(dataset = train, epochs = EPOCHS, batchSize = TRAINING_BATCH_SIZE)
    
        val accuracy = it.evaluate(dataset = test, batchSize = TEST_BATCH_SIZE).metrics[Metrics.ACCURACY]
    
        println("Accuracy: $accuracy")
    }
}

目录

库结构

KotlinDL 由多个模块组成:

  • kotlin-deeplearning-api API 接口和类
  • kotlin-deeplearning-impl 实现类和工具
  • kotlin-deeplearning-onnx 使用 ONNX Runtime 进行推理
  • kotlin-deeplearning-tensorflow 使用 TensorFlow 进行学习和推理
  • kotlin-deeplearning-visualization 可视化工具
  • kotlin-deeplearning-dataset 数据集类

其中,kotlin-deeplearning-tensorflowkotlin-deeplearning-dataset 模块仅适用于桌面 JVM,而其他工件也可以在 Android 上使用。

如何在您的项目中配置 KotlinDL

要在您的项目中使用 KotlinDL,请确保已将 mavenCentral 添加到仓库列表中:

repositories {
    mavenCentral()
}

然后将必要的依赖项添加到您的 build.gradle 文件中。

要开始创建简单的神经网络或下载预训练模型,只需添加以下依赖项:

// build.gradle
dependencies {
    implementation 'org.jetbrains.kotlinx:kotlin-deeplearning-tensorflow:[KOTLIN-DL-VERSION]'
}
// build.gradle.kts
dependencies {
    implementation ("org.jetbrains.kotlinx:kotlin-deeplearning-tensorflow:[KOTLIN-DL-VERSION]")
}

要使用 ONNX Runtime 进行推理,请使用 kotlin-deeplearning-onnx 模块:

// build.gradle
dependencies {
    implementation 'org.jetbrains.kotlinx:kotlin-deeplearning-onnx:[KOTLIN-DL-VERSION]'
}
// build.gradle.kts
dependencies {
  implementation ("org.jetbrains.kotlinx:kotlin-deeplearning-onnx:[KOTLIN-DL-VERSION]")
}

要在您的项目中充分利用 KotlinDL 的功能,请将以下依赖项添加到您的 build.gradle 文件中:

// build.gradle
dependencies {
    implementation 'org.jetbrains.kotlinx:kotlin-deeplearning-tensorflow:[KOTLIN-DL-VERSION]'
    implementation 'org.jetbrains.kotlinx:kotlin-deeplearning-onnx:[KOTLIN-DL-VERSION]'
    implementation 'org.jetbrains.kotlinx:kotlin-deeplearning-visualization:[KOTLIN-DL-VERSION]'
}
// build.gradle.kts
dependencies {
  implementation ("org.jetbrains.kotlinx:kotlin-deeplearning-tensorflow:[KOTLIN-DL-VERSION]")
  implementation ("org.jetbrains.kotlinx:kotlin-deeplearning-onnx:[KOTLIN-DL-VERSION]")
  implementation ("org.jetbrains.kotlinx:kotlin-deeplearning-visualization:[KOTLIN-DL-VERSION]")
}

最新的稳定版 KotlinDL 是 0.5.2,最新的不稳定版是 0.6.0-alpha-1

有关更多详细信息以及 pom.xmlbuild.gradle.kts 示例,请参阅 快速入门指南

在 Jupyter Notebook 中使用 KotlinDL

您可以在 Jupyter Notebook 中通过 Kotlin 内核以交互方式使用 KotlinDL。为此,请在笔记本中添加所需的依赖项:

@file:DependsOn("org.jetbrains.kotlinx:kotlin-deeplearning-tensorflow:[KOTLIN-DL-VERSION]")

有关安装 Jupyter Notebook 和添加 Kotlin 内核的更多详细信息,请参阅 快速入门指南

在 Android 项目中使用 KotlinDL

KotlinDL 支持在 Android 平台上对 ONNX 模型进行推理。要在您的 Android 项目中使用 KotlinDL,请将以下依赖项添加到 build.gradle 文件中:

// build.gradle
implementation 'org.jetbrains.kotlinx:kotlin-deeplearning-onnx:[KOTLIN-DL-VERSION]'
// build.gradle.kts
implementation ("org.jetbrains.kotlinx:kotlin-deeplearning-onnx:[KOTLIN-DL-VERSION]")

有关更多详细信息,请参阅 快速入门指南

KotlinDL、ONNX Runtime、Android 和 JDK 版本对应关系

下表展示了 KotlinDL、TensorFlow、ONNX Runtime、Android 编译 SDK 以及最低支持的 Java 版本之间的对应关系。

KotlinDL 版本 最低 Java 版本 ONNX Runtime 版本 TensorFlow 版本 Android:编译 SDK 版本
0.1.* 8 1.15
0.2.0 8 1.15
0.3.0 8 1.8.1 1.15
0.4.0 8 1.11.0 1.15
0.5.0–0.5.1 11 1.12.1 1.15 31
0.5.2 11 1.14.0 1.15 31
0.6.* 11 1.16.0 1.15 31

文档

示例与教程

使用 KotlinDL 不需要具备深度学习的先验经验。

我们正在努力编写详尽的文档来帮助您快速上手。目前,您可以参考我们准备的以下教程:

如需更多灵感,请查看此仓库中的 代码示例 以及 示例 Android 应用

在 GPU 上运行 KotlinDL

要启用 GPU 上的训练和推理,请阅读 TensorFlow GPU 支持页面,并安装 CUDA 框架以支持 GPU 设备上的计算。

请注意,仅支持 NVIDIA 显卡。

如果您希望利用 GPU,还需要在项目中添加以下依赖项:

// build.gradle
implementation 'org.tensorflow:libtensorflow:1.15.0'
implementation 'org.tensorflow:libtensorflow_jni_gpu:1.15.0'
// build.gradle.kts
implementation ("org.tensorflow:libtensorflow:1.15.0")
implementation ("org.tensorflow:libtensorflow_jni_gpu:1.15.0")

在 Windows 系统上,还需要安装以下组件:

对于在 CUDA 设备上对 ONNX 模型进行推理,您还需要在项目中添加以下依赖项:

// build.gradle
api 'com.microsoft.onnxruntime:onnxruntime_gpu:1.16.0'
// build.gradle.kts
api("com.microsoft.onnxruntime:onnxruntime_gpu:1.16.0")

有关 ONNXRuntime 和 CUDA 版本兼容性的更多信息,请参阅 ONNXRuntime CUDA 执行提供程序页面

日志记录

默认情况下,API 模块使用 kotlin-logging 库来将日志记录流程与具体的日志记录器实现分离。

你可以使用任何具有 Simple Logging Facade for Java (SLF4J) 实现的广泛使用的 JVM 日志库,例如 Logback 或 Log4j/Log4j2。

如果你希望使用 Log4j2,还需要在项目的 src/resource 文件夹中添加以下依赖项和配置文件 log4j2.xml

// build.gradle
implementation 'org.apache.logging.log4j:log4j-api:2.17.2'
implementation 'org.apache.logging.log4j:log4j-core:2.17.2'
implementation 'org.apache.logging.log4j:log4j-slf4j-impl:2.17.2'
// build.gradle.kts
implementation("org.apache.logging.log4j:log4j-api:2.17.2")
implementation("org.apache.logging.log4j:log4j-core:2.17.2")
implementation("org.apache.logging.log4j:log4j-slf4j-impl:2.17.2")
<Configuration status="WARN">
    <Appenders>
        <Console name="STDOUT" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/>
        </Console>
    </Appenders>

    <Loggers>
        <Root level="debug">
            <AppenderRef ref="STDOUT" level="DEBUG"/>
        </Root>
        <Logger name="io.jhdf" level="off" additivity="true">
            <appender-ref ref="STDOUT" />
        </Logger>
    </Loggers>
</Configuration>

如果你想使用 Logback,则需要在项目的 src/resource 文件夹中包含以下依赖项和配置文件 logback.xml

// build.gradle
implementation 'ch.qos.logback:logback-classic:1.4.5'
// build.gradle.kts
implementation("ch.qos.logback:logback-classic:1.4.5")
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="info">
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>

这些配置文件可以在 examples 模块中找到。

Fat Jar 问题

Stack Overflow 上有一个已知的问题 question 和 TensorFlow 的一个 issue,涉及在 Amazon EC2 实例上创建和运行 Fat Jar 时出现的问题。

java.lang.UnsatisfiedLinkError: /tmp/tensorflow_native_libraries-1562914806051-0/libtensorflow_jni.so: libtensorflow_framework.so.1: cannot open shared object file: No such file or directory

尽管描述此问题的 bug 在 TensorFlow 1.14 版本中已被关闭,但该问题并未完全修复,仍需在构建脚本中添加一行代码。

一个简单的 solution 是在 Jar 的 Manifest 中添加 TensorFlow 版本信息。以下是用于创建 Fat Jar 的 Gradle 构建任务示例。

// build.gradle

task fatJar(type: Jar) {
    manifest {
        attributes 'Implementation-Version': '1.15'
    }
    classifier = 'all'
    from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
    with jar
}
// build.gradle.kts

plugins {
    kotlin("jvm") version "1.5.31"
    id("com.github.johnrengelman.shadow") version "7.0.0"
}

tasks{
    shadowJar {
        manifest {
            attributes(Pair("Main-Class", "MainKt"))
            attributes(Pair("Implementation-Version", "1.15"))
        }
    }
}

限制

目前仅支持有限的一组深度学习架构。以下是可用层的列表:

  • 核心层:
    • InputDenseFlattenReshapeDropoutBatchNorm
  • 卷积层:
    • Conv1DConv2DConv3D
    • Conv1DTransposeConv2DTransposeConv3DTranspose
    • DepthwiseConv2D
    • SeparableConv2D
  • 池化层:
    • MaxPool1DMaxPool2DMaxPooling3D
    • AvgPool1DAvgPool2DAvgPool3D
    • GlobalMaxPool1DGlobalMaxPool2DGlobalMaxPool3D
    • GlobalAvgPool1DGlobalAvgPool2DGlobalAvgPool3D
  • 合并层:
    • AddSubtractMultiply
    • AverageMaximumMinimum
    • Dot
    • Concatenate
  • 激活层:
    • ELULeakyReLUPReLUReLUSoftmaxThresholdedReLU
    • ActivationLayer
  • 裁剪层:
    • Cropping1DCropping2DCropping3D
  • 上采样层:
    • UpSampling1DUpSampling2DUpSampling3D
  • 零填充层:
    • ZeroPadding1DZeroPadding2DZeroPadding3D
  • 其他层:
    • PermuteRepeatVector

目前,层的实现使用的是 TensorFlow 1.15 Java API,但该项目将在不久的将来切换到 TensorFlow 2.x 及以上版本。不过,这并不影响高层 API。目前,TensorFlow 模型的推理仅支持在桌面端运行。

贡献

请阅读 贡献指南

报告问题/支持

请使用 GitHub issues 提交功能请求和错误报告。你也可以加入 Kotlin Slack 中的 #kotlindl 频道

行为准则

本项目及其相关社区受 JetBrains 开源与社区行为准则 约束,请务必阅读。

许可证

KotlinDL 采用 Apache 2.0 许可证 许可。

版本历史

v0.5.22023/05/22
v0.6.0-alpha-12023/01/16
v0.5.12023/01/14
v0.5.02022/12/26
v0.4.02022/06/09
v0.3.02021/09/24
v0.2.02021/05/14
v0.1.12021/01/28
v0.1.02020/12/08
v0.0.142020/11/23

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

157.4k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|5天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|6天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架