CodeProject.AI 服务器:轻松实现 AI。





5.00/5 (95投票s)
2022 年 1 月 16 日
16分钟阅读

7065265

761786
版本 2.6.5。我们快速、免费、自托管的人工智能服务器,适用于任何平台、任何语言
- 下载 Windows x64 安装程序 2.6.5 - 27 MB
- Docker 镜像 - CPU、GPU (CUDA 11 & 12)、arm64、Raspberry Pi
- 下载 macOS (x64) 安装程序 2.6.5 - 37 MB
- 下载 macOS (arm64) 安装程序 2.6.5 - 37 MB
- 下载 Ubuntu (x64) 安装程序 2.6.5 - 28 MB
- 下载 Ubuntu (arm64 - Raspberry Pi) 安装程序 2.6.5 - 27 MB
- 下载源代码 2.6.5 - 33MB
预发布
- 下载 Windows x64 安装程序 2.8.0 - 27 MB
- 下载 Ubuntu (x64) 安装程序 2.8.0 - 25 MB
- 下载 Ubuntu (arm64) 安装程序 2.8.0 - 38 MB
- 下载 macOS (x64) 安装程序 2.8.0 - 35 MB
- 下载 macOS (arm64) 安装程序 2.8.0 - 35 MB
- Docker 镜像 - CPU、GPU、arm64 2.8
快速链接
CodeProject.AI 服务器:人工智能服务器
适合那些希望将 AI 功能集成到其应用程序中,而无需编写 AI 功能或处理确保一切设置正确的极其繁琐任务的人。CodeProject.AI 服务器为您管理 MLOps。
将 CodeProject.AI 服务器视为数据库服务器:您安装它,它在后台运行,并通过简单的 API 为任何应用程序提供 AI 操作。AI 操作由即插即用的模块处理,这些模块可以使用任何语言、任何堆栈轻松创建,只要该堆栈在主机上运行即可。Python、.NET、Node - 任何适合您的。
CodeProject.AI 服务器作为 Windows 服务、Linux 下的 systemd 或 macOS 上的启动项运行。或者,有多个适用于 x64、arm64 和 CUDA 启用的系统的 Docker 镜像。任何可以发出 HTTP 请求的语言都可以访问该服务,并且服务器不需要外部互联网连接。您的数据保留在您的网络中。
![]() | ![]() | |||||||
---|---|---|---|---|---|---|---|---|
Windows | macOS | macOS-arm64 | Ubuntu | Debian | Raspberry Pi | Orange Pi | Jetson Nano | Docker |
它做什么?
目前 CodeProject.AI 服务器包含提供以下功能的 AI 模块:
- 对象检测(使用 YOLO 的 Python 和 .NET 版本,以及一个超轻量级的 Tensorflow-Lite 模块,非常适合 Raspberry Pi 和 Coral USB 棒)
- 人脸检测和识别
- 文本处理,如情感分析和摘要
- 图像处理,如背景移除、背景模糊、卡通化和分辨率增强
- 模型训练,包括用于 YOLO 对象检测的数据集获取
如何使用?
安装服务器并开始调用 API。就这么简单。
指南、帮助、常见问题解答
CodeProject.AI 服务器 | Home Assistant | Blue Iris |
我们为什么构建 CodeProject.AI 服务器
-
AI 编程是每个开发人员都应该了解的
我们想要一个有趣的开源项目,可以用来帮助教导开发人员并让他们参与到 AI 中来。我们将使用 CodeProject.AI 服务器作为文章和探索的焦点,使其学习 AI 编程变得有趣且轻松。我们希望您的贡献!我们希望您的贡献!
-
AI 编码示例涉及的组件太多
您需要安装软件包、语言和工具扩展,然后是更新和库(但需要版本 X,而不是版本 Y),然后您必须配置路径和... 哦,您想在 Windows 而不是 Linux 上运行?在这种情况下,您需要... 都太难了。CodeProject 抱怨了很多。CodeProject.AI 服务器包含您需要的一切,在一个安装程序中。CodeProject.AI 服务器还提供了一个安装脚本,可以设置您的开发环境,让您只需点击几下即可开始调试。
-
AI 解决方案通常需要使用云服务
如果您信任云提供商,或了解计费结构,或可以确保您不会发送敏感数据或超出免费套餐,那没问题。如果您有家里的网络摄像头,或者无法弄清楚 AWS 会收费多少,那就不太好了。CodeProject.AI 服务器可以本地安装。您的机器,您的网络,无需数据离开您的设备。
1:运行和试用功能
- 安装并运行
- 对于 Windows 服务,请下载最新版本,安装,然后启动桌面上的服务器仪表板快捷方式或在浏览器中打开 https://:32168。
如果您希望利用支持 CUDA 的 NVIDIA GPU,请在安装 CodeProject.AI 之前确保您已安装CUDA 驱动程序。我们建议在 Windows 上运行CUDA 11.8
- 对于 64 位 Linux 的 Docker 容器,运行
docker run -p 32168:32168 --name CodeProject.AI -d codeproject/ai-server
对于 Docker GPU(支持 NVIDIA CUDA),请使用
docker run --gpus all -p 32168:32168 --name CodeProject.AI -d codeproject/ai-server:cuda11_7
- 对于 Windows 服务,请下载最新版本,安装,然后启动桌面上的服务器仪表板快捷方式或在浏览器中打开 https://:32168。
- 在仪表板顶部,有一个指向演示游乐场的链接。打开它,开始玩吧!
2:运行和调试代码
- 克隆CodeProject CodeProject.AI 服务器仓库。
- 确保您已安装 Visual Studio Code 或 Visual Studio 2019+。
- 在 /src 中运行设置脚本
- 调试前端服务器应用程序(请参阅下面的注释,但很简单)。
3. 在我的应用程序中使用 CodeProject.AI 服务器
这是一个使用简单的 JavaScript 调用进行场景检测的 API 示例
<html>
<body>
Detect the scene in this file: <input id="image" type="file" />
<input type="button" value="Detect Scene" onclick="detectScene(image)" />
<script>
function detectScene(fileChooser) {
var formData = new FormData();
formData.append('image', fileChooser.files[0]);
fetch('https://:5000/v1/vision/detect/scene', {
method: "POST",
body: formData
})
.then(response => {
if (response.ok) response.json().then(data => {
console.log(`Scene is ${data.label}, ${data.confidence} confidence`)
});
});
}
</script>
</body>
</html>
您可以将 CodeProject.AI 服务器安装程序(或仅链接到最新版本的安装程序)包含在您自己的应用程序和安装程序中,瞧,您就有了一个支持 AI 的应用程序。
请参阅API 文档以全面了解功能。
关于安装程序的说明
原生安装程序(Windows、Ubuntu 和 macOS)都将服务器安装为服务。在 Windows 上是 Windows 服务,在 Ubuntu 上使用 systemd,在 macOS 上它只是一个登录项,因此每次登录时都会启动。
对于所有平台,打开 https://:32168 查看仪表板。
要卸载,请注意安装时的说明。供参考
- Windows 使用标准的 Windows 安装程序,因此请使用“控制面板/应用和功能”小组件来管理安装。
- Ubuntu 使用 dpkg,所以要卸载只需调用
sudo dpkg -r codeproject.ai-server
- macOS 卸载通过命令行进行
sudo bash "/Library/CodeProject.AI Server/<version>/uninstall.sh"
关于 CUDA 和 Nvidia 支持的说明
如果您有支持 CUDA 的 Nvidia 卡,请确保您
- 安装CUDA 驱动程序 (我们推荐 CUDA 11.7 或CUDA 11.8(在 Windows 上运行时))
- 安装CUDA Toolkit 11.8。
- 下载并运行我们的cuDNN 安装脚本 以安装 cuDNN 8.9.4。
Nvidia 的下载和驱动程序非常棘手!请确保您下载的驱动程序与 CUDA 11.7+ 兼容,这通常意味着 CUDA 驱动程序版本为 516.94 或更低。版本 522.x 或更高版本可能无法正常工作。您可能需要参考每个驱动程序的发行说明以进行确认。
我们的 Docker 镜像是基于 CUDA 11.7(出于历史原因)和 12.2 构建的。只要您安装了能够处理 11.7 或 12.2 的驱动程序,Docker 镜像就能与您的驱动程序进行接口并正常工作。
CUDA 12.2 为使用 PyTorch 的代码带来了一些挑战,因为迁移到了 Torch 2.0,所以我们倾向于使用 11.7。一些较旧的显卡将不兼容 CUDA 12,甚至不兼容 CUDA 11.7。如果您在使用不支持 CUDA 11.7 的旧显卡时遇到困难,请发表评论,我们将尽力提供帮助。
由于我们使用 CUDA 11.7+(支持 3.7 及以上计算能力),因此我们只能支持等于或好于 GK210 或 Tesla K80 显卡的 Nvidia CUDA 显卡。请参阅此表中支持的显卡,以确定您的显卡是否具有 3.7 或更高的计算能力。
较新的显卡,如 GTX 10xx、20xx 和 30xx 系列、RTX、MX 系列都完全支持。
AI 是一个内存密集型操作。内存小于 2GB 的一些显卡在某些情况下可能会遇到困难。使用仪表板,您可以禁用不需要的模块,或完全禁用一个或多个模块的 GPU 支持。这将释放内存并帮助您重新回到正轨。
包含什么?
CodeProject.AI 服务器包括
- HTTP REST API 服务器。服务器监听来自其他应用程序的请求,将它们传递给后端分析服务进行处理,然后将结果传回调用者。它作为您设备上一个简单的独立 Web 服务运行。
- 后端分析服务。操作的核心在于前端 API 后面的分析服务。所有数据处理都在当前机器上完成。没有云调用,也没有数据离开设备。
- 源代码,当然。
CodeProject.AI 服务器目前可以
- 检测图像中的对象
- 检测图像中的人脸
- 检测图像中场景的类型
- 识别已在服务中注册的人脸
- 对自定义模型进行检测
开发环境还提供可以
- 从图像中移除背景
- 模糊图像背景
- 增强图像分辨率
- 提取文本中最重要的句子以生成文本摘要
- 对文本进行情感分析
我们将不断扩展功能列表。
我们的目标
- 推广 AI 开发,激励 AI 开发者社区深入参与。人工智能是行业内一次巨大的范式转变,所有开发人员都应该尝试并熟悉这项技术。CodeProject.AI 服务器作为学习工具、演示以及开箱即用的库和服务而构建。
- 使 AI 开发变得容易。不是 AI 开发本身有多难。而是选项太多了。我们的架构旨在允许任何 AI 实现找到我们系统的位置,并且我们的服务可以从任何语言调用。
- 专注于核心用例。我们特意不是为所有人设计的解决方案。相反,我们是为常见的日常需求设计的解决方案。我们将为我们的系统添加数十个模块和成百上千种 AI 功能,但我们的目标始终是清晰和简洁,而不是一个 100% 的解决方案。
- 利用开发者社区的专业知识。我们不是专家,但我们知道那里有一些开发者是。CodeProject.AI 服务器的真正力量来自于我们 AI 社区的贡献和改进。
许可证
CodeProject.AI 服务器根据服务器端公共许可证获得许可。
发布说明
最新消息 - 2.6
- 您现在可以在安装时选择要初始安装的模块
- 一些模块(Coral、Yolov8)现在允许您通过仪表板在运行时下载单个模型。
- 一个新的人工智能生成模块(Llama LLM 聊天机器人)
- 一种标准化的方式来处理(在代码中)运行长时间进程的模块,如人工智能生成
- Debian 支持已改进
- 仪表板有一些小的 UI 改进
- 对模块设置文件进行了一些简化
- 在源代码中包含模板 .NET 和 Python 模块(包括简单和长时间进程演示)
- Coral 和 ALPR 模块的改进(感谢 Seth 和 Mike)
- Docker CUDA 12.2 镜像现在包含 cuDNN
- 安装脚本修复
- 在 YOLOv8 模块中添加了对象分割
- 2.6.5 各种安装程序修复
旧版本
版本 2.5
- 动态 Explorer UI:每个模块现在都为 Explorer 提供自己的 UI
- 改进了仪表板和 Explorer
- 模块列表现在显示模块版本历史记录,如果您单击版本号。
- Explorer 基准测试已更新,以使用当前活动对象检测模块的自定义模型
- 仪表板上的“信息”按钮现在包含来自模块的状态数据转储。对于对象检测器等模块,它将包含标签/计数字典,以便您可以看到正在检测的内容。对于运行时间较长的模块(如训练),它将包括训练状态。此处用于支持将来的更好 UI 功能。
- 更新了模块设置架构,其中包含模块作者和原始项目确认
- 安装程序修复
- 改进了 Jetson 支持
- 大量的错误修复,特别是有一个影响模块安装的脚本问题,以及一个影响 YOLOv5 6.2 模块以及 SuperResolution 模块的 modulesettings.json 问题。
- 更新了 ALPR、OCR(PP-OCR4 支持,感谢 Mike Lud)和 Coral 对象检测(多 TPU 支持,感谢 Seth Price)模块
- Docker 中预安装的模块现在可以卸载/重新安装
- 已包含一个新的声音分类器模块
- 2.5.4:来自每个模块的单独状态更新,解耦了模块的统计信息。这只是稍微清理了一下后端
- 2.5.4:modulesettings.json 架构的小幅更新,引入了模型要求概念。
- 2.5.5:支持带有配套稳定扩散模块的长时间进程。
版本 2.4
- Mesh 支持:根据推理速度自动将推理工作分载到网络上的其他服务器。零配置,并且仪表板支持启用/禁用。
- CUDA 检测已修复
- 安装时执行模块自检
- 添加了 YOLOv8 模块
- 修复了 YOLOv5 .NET 模块的 GPU 问题,并修复了 YOLOv5 3.1 GPU 支持
- 修复了 Python 包和 .NET 安装问题
- 为仅限管理员的安装提供了更好的提示
- 增加了日志输出以帮助诊断问题
- 修复了 VC Redist 哈希错误
- 一般错误修复。
- 重大更改:modulesettings.json 架构已更改
版本 2.3
- 专注于改进模块在运行时安装。更多的错误检查,更快的重新安装,更好的报告,以及在需要管理员权限的情况下的手动回退。
- 经过改进的 SDK,消除了安装脚本中所需的许多(或在某些情况下是全部)样板代码。
- 精细支持不同的 CUDA 版本以及 Raspberry Pi、Orange Pi 和 Jetson 等系统。
- 支持 CUDA 12.2
- 支持 PaddlePaddle 的 GPU(OCR 和车牌识别器受益)
- CUDA 12.2 Docker 镜像
- 安装脚本中的大量错误修复
- UI 调整
- 2.3.4 ALPR 现在在 Windows 上使用 GPU
- 2.3.4 修正了 Linux/macOS 安装程序
版本 2.2.0
此版本仍在测试中,主要侧重于安装过程
- 全新的 Windows 安装程序,提供更多安装选项和更顺畅的升级体验。
- 新的 macOS 和 Ubuntu 原生安装程序,适用于 x64 和 arm64(包括 Raspberry Pi)
- 新的安装 SDK,使模块安装程序更轻松
- 改进的安装反馈和自检
- Coral.AI 支持 Linux、macOS(仅限 11 和 12 版本)和 Windows
- 更新
- 2.2.1 - 2.2.3 各种安装程序修复
- 2.2.4 - 修复了删除分块以允许 HTTP1.1 访问 API(Blue Iris 修复)
版本 2.1.x Beta
- 改进了 Raspberry Pi 支持。一个全新的、快速的对象检测模块,支持 Coral.AI TPU,全部在 Arm64 Docker 镜像中。
- 现在可以安装/卸载所有模块(而不是将某些模块固定为不可卸载)。
- 安装程序已简化:安装时仅安装服务器,并在首次运行时,我们安装对象检测(Python 和 .NET)和人脸处理(可卸载)。
- 重构了 Python 模块 SDK。模块是新的子类,而不是我们的模块运行程序的聚合器。
- 重构了 modulesettings 文件,使其更简单,重复性更少。
- 改进的日志记录:数量、质量、过滤和更丰富的信息
- 添加了两个模块:用于在 Raspberry Pi 上使用 Coral 进行对象检测的
ObjectDetectionTFLite
,以及用于一些乐趣的 Cartoonise。 - 改进了 CUDA 卡上的半精度支持检查。
- 模块现在已版本化,我们的模块注册表现在将仅显示适合您当前服务器版本的模块。
- 各种错误修复
- 共享 Python 运行时现在位于 /runtimes 中。
- 所有模块已从 /AnalysisLayer 文件夹移至 /modules 文件夹
- 在 CUDA 12 上测试
- 补丁 2.1.11:YOLO 训练模块现在允许您使用自己的数据集。YOLO 6.2 / Face Processing 已恢复到 Torch 1.13。
- 补丁 2.1.10:添加了 YOLOv5 训练模块和支持。改进了系统信息。Orange Pi 和 NVIDIA Jetson 支持。添加了触发器。将 VersionCompatibililty 重命名为 ModuleReleases。因为拼写。
- 补丁 2.1.9:增加了并可调整的模块安装超时时间,并改进了安装日志。修复了 PyTorch 中的资源争用问题,修复了资源使用报告,改进了原生 Linux/WSL CUDA 设置。异步修复。改进了半精度支持。
- 补丁 2.1.8:大幅减少了在获取 CPU/GPU 使用率更新时的系统负载。
- 补丁 2.1.7:修复了可能导致服务器关机的内存/资源泄漏问题
- 补丁 2.1.6 及以下版本:安装程序修复
请参阅我们的CUDA 说明,了解有关设置和限制 Nvidia 卡和 CUDA 支持的信息。
如果您正在升级:当仪表板启动时,可能需要强制重新加载(Windows 上按 Ctrl+R)仪表板,以确保您看到的是最新版本。
版本 2.0.x Beta
- 2.0.8:改进了分析进程管理。清除那些占用大量内存的 Python 进程!
- 2.0.7:改进了日志记录(文件和仪表板),模块安装程序/卸载程序错误修复
- 2.0.6:纠正了可下载模块安装程序的问题
- 我们的新模块注册表:通过仪表板在运行时下载和安装模块
- 提高了对象检测模块的性能
- 可选的 YOLO 3.1 对象检测模块,适用于较旧的 GPU
- 优化 RAM 使用
- 支持 Raspberry Pi 4+。使用 VSCode 原生代码并在 Raspberry Pi 上直接运行
- 重新设计的仪表板
- 每个 API 调用的新计时报告
- 新的、简化的设置和安装脚本
版本 1.6.x Beta
- 优化 RAM 使用
- 通过仪表板启用/禁用模块和 GPU 支持的能力
- REST 设置 API,用于实时更新设置
- Apple M1/M2 GPU 支持
- 针对某些 Nvidia 卡的解决方案
- 异步进程和日志记录,以提高性能
- 重大更改:
CustomObjectDetection
现在是ObjectDetectionYolo
的一部分 - CPU + 视频演示的性能修复
- 补丁 1.6.7:解决了潜在的内存泄漏问题
- 补丁 1.6.8:Linux 上的图像处理改进,.NET 上的多线程 ONNX
版本 1.5.6.2 Beta
- Docker nVidia GPU 支持
- 进一步提高性能
- cuDNN 安装脚本,以帮助进行 nVidia 驱动程序和工具包安装
- Bug 修复
版本 1.5.6 Beta
- Windows 的 nVidia GPU 支持
- Python 模块性能改进
- 从事 Python SDK 工作,使创建模块更容易
- 对于创建新模块的开发人员,开发安装程序已大大简化
- 添加了
SuperResolution
作为演示模块
版本 1.5 Beta
- 支持自定义模型
版本 1.3.x Beta
- 重构和改进了设置和模块添加系统
- 引入了 modulesettings.json 文件
- 新的分析模块
版本 1.2.x Beta
- 支持 Apple Silicon 进行开发模式
- 原生 Windows 安装程序
- 作为 Windows 服务运行
- 在 Docker 容器中运行
- 使用 Linux (Ubuntu)、macOS 和 Windows 上的 VSCode,以及 Windows 上的 Visual Studio 进行安装和构建
- 下载包大小的整体优化
以前
- 我们开始时只是一个仅限于 Windows 10+ 的概念验证。通过一个简单的 BAT 脚本进行安装,代码中充满了激动人心的锋利边缘。包括一个简单的仪表板和游乐场。分析目前仅限于 Python 代码。
- 启用了版本检查,以提醒用户新版本。
- 使用 YOLO 模型实现的新 .NET 场景检测,以确保代码库与平台和技术栈无关
- Blue Iris 集成完成。