Go to file
Meng Zhang 734957d1de
build mac binary in ci (#152)
* build mac binary in ci

* update

* update

* turn on verbose

* fix cross compile

* update

* update

* update

* update

* update

* update

* update
2023-05-27 14:31:27 -07:00
.github build mac binary in ci (#152) 2023-05-27 14:31:27 -07:00
clients VSCode extension: import agent lib. (#144) 2023-05-24 09:21:38 -07:00
crates Support causal lm (decoder only model) (#151) 2023-05-27 01:26:33 -07:00
deployment Update README.md 2023-04-07 05:34:10 +08:00
development feat: FLAGS_rewrite_prompt_with_search_snippet (#98) 2023-04-13 15:02:12 +08:00
docs Update Events.md 2023-05-10 20:23:43 -07:00
tabby Remove FLAGS_enable_meilisearch and FLAGS_rewrite_prompt_with_search_snippet (#122) 2023-05-01 15:06:06 +08:00
tests test: support TABBY_API_HOST in k6 tests 2023-04-04 11:14:22 +08:00
.dockerignore Add gptj converter (#19) 2023-03-27 11:12:52 +08:00
.gitattributes Add docker compose (#3) 2023-03-22 02:42:47 +08:00
.gitignore build mac binary in ci (#152) 2023-05-27 14:31:27 -07:00
.gitmodules add ctranslate2-bindings / tabby rust packages (#146) 2023-05-25 14:05:28 -07:00
.pre-commit-config.yaml feat: support stopping words in python backend. (#32) 2023-03-29 20:23:11 +08:00
Cargo.lock build mac binary in ci (#152) 2023-05-27 14:31:27 -07:00
Cargo.toml build mac binary in ci (#152) 2023-05-27 14:31:27 -07:00
Dockerfile Remove FLAGS_enable_meilisearch and FLAGS_rewrite_prompt_with_search_snippet (#122) 2023-05-01 15:06:06 +08:00
Dockerfile.rust build mac binary in ci (#152) 2023-05-27 14:31:27 -07:00
LICENSE Create LICENSE 2023-03-16 17:28:10 +08:00
Makefile test: support TABBY_API_HOST in k6 tests 2023-04-04 11:14:22 +08:00
README.md Update README.md 2023-05-04 17:36:01 +08:00
poetry.lock feat: FLAGS_rewrite_prompt_with_search_snippet (#98) 2023-04-13 15:02:12 +08:00
pyproject.toml feat: FLAGS_rewrite_prompt_with_search_snippet (#98) 2023-04-13 15:02:12 +08:00

README.md

🐾 Tabby

License Code style: black Docker build status Docker pulls

Self-hosted AI coding assistant. An opensource / on-prem alternative to GitHub Copilot.

Warning Tabby is still in the alpha phase

Features

  • Self-contained, with no need for a DBMS or cloud service
  • Web UI for visualizing and configuration models and MLOps.
  • OpenAPI interface, easy to integrate with existing infrastructure (e.g Cloud IDE).
  • Consumer level GPU supports (FP-16 weight loading with various optimization).

Demo

Open in Spaces

Demo

Get started: Server

Docker

NOTE: Tabby requires Pascal or newer NVIDIA GPU.

Before running Tabby, ensure the installation of the NVIDIA Container Toolkit. We suggest using NVIDIA drivers that are compatible with CUDA version 11.8 or higher.

# Create data dir and grant owner to 1000 (Tabby run as uid 1000 in container)
mkdir -p data/hf_cache && chown -R 1000 data

docker run \
  --gpus all \
  -it --rm \
  -v "/$(pwd)/data:/data" \
  -v "/$(pwd)/data/hf_cache:/home/app/.cache/huggingface" \
  -p 5000:5000 \
  -e MODEL_NAME=TabbyML/J-350M \
  -e MODEL_BACKEND=triton \
  --name=tabby \
  tabbyml/tabby

You can then query the server using /v1/completions endpoint:

curl -X POST http://localhost:5000/v1/completions -H 'Content-Type: application/json' --data '{
    "prompt": "def binarySearch(arr, left, right, x):\n    mid = (left +"
}'

We also provides an interactive playground in admin panel localhost:5000/_admin

Skypilot

See deployment/skypilot/README.md

Getting Started: Client

We offer multiple methods to connect to Tabby Server, including using OpenAPI and editor extensions.

API

Tabby has opened a FastAPI server at localhost:5000, which includes an OpenAPI documentation of the HTTP API. The same API documentation is also hosted at https://tabbyml.github.io/tabby

Editor Extensions

Development

Go to development directory.

make dev

or

make dev-triton # Turn on triton backend (for cuda env developers)