Tabby - 开源的自托管 AI 编码助手

server/2025/1/19 1:52:29/

Tabby 是一个开源的自托管 AI 编码助手。使用 Tabby,每个团队都可以轻松设置自己的 LLM 驱动的代码完成服务器。独立式,无需 DBMS 或云服务。OpenAPI 接口,易于与现有基础设施(例如 Cloud IDE)集成。

支持消费级 GPU。

21600 Stars 984 Forks 161 Issues 104 贡献者 Apache License Rust 语言

代码: GitHub - TabbyML/tabby: Self-hosted AI coding assistant

主页: https://tabby.tabbyml.com/

更多AI开源软件:AI开源 - 小众AI

主要功能:

  • **开放**:Tabby 是免费的、开源的,并且与主要的编码 LLM(CodeLlama、StarCoder、CodeGen)兼容。事实上,您可以使用和组合您喜欢的模型,而无需自己实现任何内容。

  • **端到端**:虽然大多数编码工具仅将代码完成视为编码 LLM 之上的薄包装器,但在实际场景中,IDE 扩展中的优化可能与编码 LLM 的功能一样重要。 Tabby 优化了整个堆栈:

    • IDE 扩展:Tabby 通过自适应缓存策略实现准确的流式处理和取消,以确保快速完成(不到一秒)。
    • 模型服务:Tabby 将相关代码解析为 Tree Sitter 标签,以提供有效的提示。
  • **用户和开发人员体验**:可持续的开源解决方案的关键是让每个人都能更轻松地为项目做出贡献。 AI 专家应该能够轻松理解和改进建议质量。 EngOps 团队应该发现它易于设置并感觉可以控制数据。 开发人员在编码时应该有一个 “顿悟 ”的时刻。 Tabby 优化了这些核心用户的体验,以提高团队的工作效率。

快速开始:

Windows平台:
查找 Windows 版本
  • 进入 Tabby 发布页面:https://github.com/TabbyML/tabby/releases
  • 单击特定版本的 **Assets** 下拉列表以查找 Windows zip 文件。

Windows release

下载版本
  • 如果您使用的是纯 CPU 系统,请下载 **tabby_x86_64-windows-msvc.zip**。
  • 如果您使用的是支持 GPU 的系统,请下载**tabby_x86_64-windows-msvc-cuda117.zip**,在此示例中,我们假设您使用的是 CUDA 11.7。

**技巧:**

  • 从 Nvidia 下载 CUDA 工具包:CUDA Toolkit - Free Tools and Training | NVIDIA Developer
  • 确保您已安装 CUDA 版本 11 或更高版本。
  • 通过在命令提示符或 PowerShell 窗口中运行以下命令来检查本地 CUDA 版本:
nvcc --version
查找 Windows 可执行文件
  • 解压缩文件 。tabby_x86_64-windows-msvc-cuda117.zip​
  • 导航到名为 的解压缩文件夹。tabby_x86_64-windows-msvc-cuda117​
  • 在此文件夹中,转到 -> 。disttabby_x86_64-windows-msvc-cuda117​
  • 在此目录中,您将找到一个名为 .tabby.exe​
运行 Tabby

在上一步) 所在的目录中打开命令提示符或 PowerShell 窗口(来自上一步)。tabby.exe​

运行以下命令:

# For CPU-only environments
.\tabby.exe serve --model StarCoder-1B --chat-model Qwen2-1.5B-Instruct# For CUDA-enabled environments
.\tabby.exe serve --model StarCoder-1B --chat-model Qwen2-1.5B-Instruct --device cuda

您应该会看到一条成功消息,类似于下面屏幕截图中的消息。之后,您可以访问 http://localhost:8080 来访问您的 Tabby 实例。

Windows running success

Linux平台:
查找 Linux 版本
  • 进入 Tabby 发布页面:https://github.com/TabbyML/tabby/releases
  • 单击特定版本的 **Assets** 下拉菜单以查找 manylinux zip 文件。

Linux release

下载版本
  • 如果您使用的是纯 CPU 系统,请下载 **tabby_x86_64-manylinux2014.zip**。
  • 如果您使用的是支持 GPU 的系统,请下载**tabby_x86_64-manylinux2014-cuda117.zip**,在此示例中,我们假设您使用的是 CUDA 11.7。
  • 如果要使用非 nvidia GPU,请下载 **tabby_x86_64-manylinux2014-vulkan.zip**。有关更多信息,请参阅 https://tabby.tabbyml.com/blog/2024/05/01/vulkan-support/。

**技巧:**

  • 对于 CUDA 版本,您需要为发行版安装 nvidia-cuda-toolkit。

    • 在 ubuntu 中,这将是 .sudo apt install nvidia-cuda-toolkit​
    • CUDA 工具包可直接从 Nvidia 获得:CUDA Toolkit - Free Tools and Training | NVIDIA Developer
    • 确保您已安装 CUDA 版本 11 或更高版本。
    • 通过在终端中运行以下命令来检查您的本地 CUDA 版本:nvcc --version​
  • 对于 Vulkan 版本,您需要 Vulkan 库。在 ubuntu 中,这将是 .sudo apt install libvulkan1​

查找 Linux 可执行文件
  • 解压缩您下载的文件。可执行文件将位于 dist 的子目录中。tabby​
  • 更改为此子目录或重新定位到您选择的文件夹。tabby​
  • 使其可执行:chmod +x tabby llama-server​

运行以下命令:

# For CPU-only environments
./tabby serve --model StarCoder-1B --chat-model Qwen2-1.5B-Instruct# For GPU-enabled environments (where DEVICE is cuda or vulkan)
./tabby serve --model StarCoder-1B --chat-model Qwen2-1.5B-Instruct --device $DEVICE

您可以选择不同的模型,如模型注册表中所示

您应该会看到一条成功消息,类似于下面屏幕截图中的消息。之后,您可以访问 http://localhost:8080 来访问您的 Tabby 实例。


http://www.ppmy.cn/server/159507.html

相关文章

vue编写一个可拖动的模块,并可以和任何其他组件组合使用

实现思路&#xff1a; 使用 Vue 的自定义指令&#xff08;directive&#xff09;来处理拖动逻辑。在 mounted 钩子中添加鼠标事件监听器&#xff0c;以实现拖动功能。在 unmounted 钩子中移除鼠标事件监听器&#xff0c;防止内存泄漏。 代码示例&#xff1a; <template&g…

前端小知识 鼠标穿透 pointer-events: none;

为什么会说到这个呢&#xff1f;是我觉得没有识别出来&#xff0c;然后就导致了这样的问题&#xff0c;这种情况不应该发生。我写了如下这样一段代码&#xff0c;但是发现当自己选择时间的时候无法选择。然后就发现变成了光标在闪烁。这样其实就是因为我选择到了这个input框的鼠…

STM32--定时器输出pwm知识点_stm32 pwm-CSDN博客

1. 选择TIM_OCMode_Toggle电平翻转模式&#xff0c; TIM_TimeBaseInitStruct.TIM_Period PWM_1_TIM_Period; 要设置成PWM_1_TIM_Period设置成0xffff - 1&#xff0c;设置成其他数值会出现脉冲一会有一会咩有。 资料&#xff1a;一文搞懂STM32定时器翻转模式&#xff08;产生…

SQL Server 导入Excel数据

1、选中指定要导入到哪个数据库&#xff0c;右键选择 》任务 》导入数据 2、数据源 选择Excel&#xff0c;点击 下一步(Next) 3、目前 选择OLE DB Provider &#xff0c;点击 下一步&#xff08;Next&#xff09; 4、默认 &#xff0c;点击 下一步&#xff08;Next&#xff09;…

JAVA-Exploit编写(3)--httpcomponents库使用文件上传

目录 1.依赖安装 2. upload文件代码 3.文件上传代码 1.依赖安装 文件上传处需要使用httpcomponents库,需要在Maven的pom.xml文件中导入依赖 <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpmime</artifactId>&l…

用LLM做测试驱动开发:有趣又高效的尝试

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

基于 Python 的毕设选题管理系统设计与实现

标题:基于 Python 的毕设选题管理系统设计与实现 内容:1.摘要 本文介绍了一个基于 Python 的毕设选题管理系统的设计与实现。该系统旨在解决传统毕设选题管理方式中存在的效率低下、信息不透明等问题。通过使用 Python 语言和相关技术&#xff0c;实现了对毕设选题的信息化管理…

2019-Android-高级面试题总结-从java语言到AIDL使用与原理

4.通过线程池 线程池的工作原理&#xff1a;线程池可以减少创建和销毁线程的次数&#xff0c;从而减少系统资源的消耗&#xff0c;当一个任务提交到线程池时 a. 首先判断核心线程池中的线程是否已经满了&#xff0c;如果没满&#xff0c;则创建一个核心线程执行任务&#xff0…