本地生成式人工智能(GenAI)API服务器:OpenAI API 的本地替代品
EdgenChat,本地聊天应用,由⚡Edgen驱动
- 符合OpenAI标准的API:⚡Edgen实现了一个兼容OpenAI的API,使其成为一个即插即用的替代品。
- 多端点支持:⚡Edgen公开了多个人工智能端点,如聊天补全(LLMs)和语音转文字(Whisper)用于音频转录。
- 模型无关:LLMs(Llama2, Mistral, Mixtral...),语音转文字(whisper)以及许多其他。
- 优化推理:你不需要拥有人工智能优化的博士学位。⚡Edgen抽象了不同硬件、平台和模型的优化推理的复杂性。
- 模块化:⚡Edgen是模型和运行时无关的。新模型可以轻松添加,⚡Edgen可以为用户的硬件选择最佳运行时:你无需关注最新的模型和机器学习运行时——⚡Edgen会为你处理。
- 模型缓存:⚡Edgen在本地缓存基础模型,因此一个模型可以为数百个不同的应用程序提供动力——用户不需要多次下载相同的模型。
- 原生:⚡Edgen使用🦀Rust编写,并原生编译到所有流行平台:Windows, MacOS 和 Linux。无需Docker。
- 图形界面:一个图形用户界面,帮助用户高效管理他们的模型、端点和权限。
⚡Edgen让你在应用程序中使用GenAI,完全本地运行在用户的设备上,免费且数据隐私。它是OpenAI的即插即用替代品(使用兼容API),支持各种功能如文本生成、语音转文字,并可在Windows、Linux和MacOS上运行。
特性
- 会话缓存:⚡Edgen通过缓存会话来维护大上下文(大聊天记录)的最佳性能。会话会根据聊天历史自动检测。
- GPU支持:CUDA,Vulkan,Metal
端点
支持的模型
请参阅文档
支持的平台
- Windows
- Linux
- MacOS
🔥 热门话题
为什么选择本地GenAI?
-
数据私密:设备内推理意味着用户的数据永远不会离开他们的设备。
-
可扩展:越来越多的用户?无需增加云计算基础设施。只需让您的用户使用他们自己的硬件。
-
可靠:没有网络,无停机时间,无速率限制,无API密钥。
-
免费:它在用户已经拥有的硬件上本地运行。
快速入门
准备开始您自己的GenAI应用程序?查看我们的指南!
⚡Edgen 用法:
使用方法:edgen [<command>] [<args>]
顶层 CLI 命令和选项。子命令是可选的。如果没有提供命令,“serve”将以默认选项调用。
选项:
--help 显示使用信息
命令:
serve 启动 edgen 服务器。这是默认命令。
config 配置相关的子命令。
version 将 edgen 版本打印到标准输出。
oasgen 生成 Edgen OpenAPI 规范。
edgen serve
用法:
使用方法:edgen serve [-b <uri...>] [-g]
启动 edgen 服务器。这是默认命令。
选项:
-b, --uri 如果存在,将服务器绑定到一个或多个 URI/主机。
支持 `unix://` (在 Linux 上), `http://` 和 `ws://`。
在脚本中使用时,建议明确添加此选项以使您的脚本具有前瞻性。
-g, --nogui 如果存在,edgen 将不会启动 GUI;默认行为是启动 GUI。
--help 显示使用信息
GPU 支持
⚡Edgen 还支持通过 Vulkan、CUDA 和 Metal 从源代码编译和在 GPU 上执行。 以下 cargo 功能启用 GPU:
llama_vulkan
- 使用 Vulkan 执行 LLM 模型。需要安装 Vulkan SDK。llama_cuda
- 使用 CUDA 执行 LLM 模型。需要安装 CUDA 工具包。llama_metal
- 使用 Metal 执行 LLM 模型。whisper_cuda
- 使用 CUDA 执行 Whisper 模型。需要安装 CUDA 工具包。
注意,目前 llama_vulkan
、llama_cuda
和 llama_metal
不能同时启用。
示例用法(从源代码构建,您需要先安装先决条件):
cargo run --features llama_vulkan --release -- serve
架构概述
⚡Edgen 架构概述
贡献
如果您不知道从哪里开始,请查看 Edgen 的路线图! 在开始工作之前,请查看是否存在现有的 issue/pull-request。跳进 Discord 和团队核实一下,看看是否有人已经在处理。
通信渠道
- Edgen Discord 服务器:与⚡Edgen团队和其他用户实时讨论。
- GitHub issues:功能请求,错误报告。
- GitHub discussions:问与答。
- 博客:重大公告。
特别感谢
llama.cpp
,whisper.cpp
,以及ggml
为这个领域提供了一个很好的起点。