Commit Graph

325 Commits (main)

Author SHA1 Message Date
Jason 0784fa661b
feat(core): add --host option to specify the host Tabby server will listen on. (#1021)
* Add --host option to specify the host Tabby server will listen on.

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-11 16:13:06 +08:00
Meng Zhang c92b9e11c3 chore: fix rust build warning 2023-12-11 12:42:57 +08:00
Meng Zhang b2a92f1cf7
test(golden): switch to cargo-insta for better developer experience (#1018) 2023-12-11 04:40:41 +00:00
Eric e0d0133d86
feat: support build tabby on windows (#948)
* feat: update config to support build on windows

* resolve comment

* update release.yml

* resolve comment
2023-12-11 12:14:49 +08:00
Meng Zhang 63068724bf
fix: ci build in github runner, simply ignore tild related unit test (#1002) 2023-12-10 03:48:33 +00:00
Eric 1fa0106ca3
feat: fork aim-downloader into crates/aim-downloader to make it compatible with windows (#996)
* feat: support build on windows

* revert change

* feat: migrate aim source code

* revert change

* [autofix.ci] apply automated fixes

* fix test

* remove test dir, skip test

* fix test

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-10 10:48:21 +08:00
Meng Zhang 6c6a2c803f
feat: make all features in webserver requires auth (#992)
* feat: require auth for webserver features

* cleanup frontend

* feat: add flag --webserver

* implement admin

* update format
2023-12-08 17:49:10 +00:00
Meng Zhang f4224f0417
feat(tabby): add auth token support in swagger ui (#988) 2023-12-08 11:55:54 +00:00
Meng Zhang 928f1c527c
fix: normalize javascript / typescript / jsx /tsx in query side (#980) 2023-12-08 03:04:09 +00:00
Mikko Tiihonen 9aed0dee08
feat: Add support for 7840U iGPU type (#960)
rocminfo reports that my AMD Ryzen 7 PRO 7840U w/ Radeon 780M Graphics GPU version is gfx1103
2023-12-06 23:11:05 +00:00
Meng Zhang 5c52a71f77
refactor: extract ServiceLocator interface (#933)
* refactor: cleanup the dependency chain - ServerContext should be the only thing being public in server mod

* refactor ServiceLocator

* refactor: extract worker.rs

* refactor: move db as private repo of server

* rename server -> service
2023-12-01 22:16:59 +08:00
Meng Zhang 1a9cbdcc3c
feat(ee): implement auth claims (#932)
* feat(ee): implement auth claims

* fix test

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-01 12:46:01 +00:00
xcnick 2c2c95ccd7
fix: output unicode characters error (#925) 2023-12-01 12:18:26 +08:00
Meng Zhang ffd5ef3449
fix: avoid llama.cpp's racing (#923) 2023-11-30 23:52:20 +08:00
Meng Zhang 4bcc411e07
chore: fix autofix for goldentests (#921)
* chore: fix autofix for goldentests

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-30 18:20:36 +08:00
Meng Zhang 8d1303d6e4
fix: properly recycle request id (#920) 2023-11-30 17:01:52 +08:00
Meng Zhang 30d2ba5f00
test: add chat golden test (#919)
* test: add chat golden test

* update
2023-11-30 08:26:55 +00:00
Meng Zhang 9c905e4849
feat: add rocm support (#913)
* Added build configurations for Intel and AMD hardware

* Improved rocm build

* Added options for OneAPI and ROCm

* Build llama using icx

* [autofix.ci] apply automated fixes

* Fixed rocm image

* Build ROCm

* Tried to adjust compile flags for SYCL

* Removed references to oneAPI

* Provide info about the used device for ROCm

* Added ROCm documentation

* Addressed review comments

* Refactored to expose generic accelerator information

* Pull request cleanup

* cleanup

* cleanup

* Delete .github/workflows/docker-cuda.yml

* Delete .github/workflows/docker-rocm.yml

* Delete crates/tabby-common/src/api/accelerator.rs

* update

* cleanup

* update

* update

* update

* update

---------

Co-authored-by: Cromefire_ <cromefire+git@pm.me>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-29 03:27:03 +00:00
Meng Zhang 2b131ad1d2
refactor: handle max output length in StopCondition (#910)
* refactor: handle max output length in StopCondition

* trim stop words

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-28 16:57:16 +08:00
Meng Zhang e92a8c8005 Release 0.7.0-dev
http-api-bindings@0.7.0-dev
juniper-axum@0.7.0-dev
llama-cpp-bindings@0.7.0-dev
tabby@0.7.0-dev
tabby-common@0.7.0-dev
tabby-download@0.7.0-dev
tabby-inference@0.7.0-dev
tabby-scheduler@0.7.0-dev
tabby-webserver@0.7.0-dev

Generated by cargo-workspaces
2023-11-27 14:58:58 +08:00
Meng Zhang b1481b0e2e
chore: release 0.6.0 (#882)
* add loadtest

* release 0.6.0

* Release 0.6.0-rc.0

http-api-bindings@0.6.0-rc.0
juniper-axum@0.6.0-rc.0
llama-cpp-bindings@0.6.0-rc.0
tabby@0.6.0-rc.0
tabby-common@0.6.0-rc.0
tabby-download@0.6.0-rc.0
tabby-inference@0.6.0-rc.0
tabby-scheduler@0.6.0-rc.0
tabby-webserver@0.6.0-rc.0

Generated by cargo-workspaces

* Release 0.6.0-rc.1

http-api-bindings@0.6.0-rc.1
juniper-axum@0.6.0-rc.1
llama-cpp-bindings@0.6.0-rc.1
tabby@0.6.0-rc.1
tabby-common@0.6.0-rc.1
tabby-download@0.6.0-rc.1
tabby-inference@0.6.0-rc.1
tabby-scheduler@0.6.0-rc.1
tabby-webserver@0.6.0-rc.1

Generated by cargo-workspaces

* Release 0.6.0-rc.2

http-api-bindings@0.6.0-rc.2
juniper-axum@0.6.0-rc.2
llama-cpp-bindings@0.6.0-rc.2
tabby@0.6.0-rc.2
tabby-common@0.6.0-rc.2
tabby-download@0.6.0-rc.2
tabby-inference@0.6.0-rc.2
tabby-scheduler@0.6.0-rc.2
tabby-webserver@0.6.0-rc.2

Generated by cargo-workspaces

* Release 0.6.0

http-api-bindings@0.6.0
juniper-axum@0.6.0
llama-cpp-bindings@0.6.0
tabby@0.6.0
tabby-common@0.6.0
tabby-download@0.6.0
tabby-inference@0.6.0
tabby-scheduler@0.6.0
tabby-webserver@0.6.0

Generated by cargo-workspaces
2023-11-27 14:57:45 +08:00
Meng Zhang 23a49beaa9
feat(ci): support manylinux build for cpu / cuda (#899) 2023-11-26 16:37:12 +08:00
Meng Zhang 2212171825
feat: add clipboard segment (#898)
* feat: add clipboard segment

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-26 11:27:03 +08:00
Meng Zhang a7202318b1
refactor: make language optional in TextGenerationOptions (#897)
* refactor: make language optional in TextGenerationOptions

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-26 11:17:31 +08:00
Eric e78cc1f844
feat: add api to serve files under repositories (#851)
* feat: add api to serve files under repositories

* resolve comments

* resolve comments

* Update repositories.rs

* Update lib.rs

* resolve comment

---------

Co-authored-by: Meng Zhang <meng@tabbyml.com>
2023-11-24 01:58:56 +00:00
Magnus F 821ca2dead
fix: Skip creating `usage_anonymous_id` when TABBY_DISABLE_USAGE_COLLECTION is set (#864)
* dont write file if tracking is disabled

* remove comment, id is optional

* Update usage.rs

---------

Co-authored-by: Meng Zhang <meng@tabbyml.com>
2023-11-23 15:46:07 +00:00
Meng Zhang 2192cc718f
feat: implement rust cargo.lock dependency extraction (#874)
* feat: implement rust cargo.lock dependency extraction

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-23 08:35:19 +00:00
Meng Zhang bb4ffe937b refactor: remove useless crates/tabby/Cargo.lock 2023-11-23 15:33:05 +08:00
Meng Zhang 3bddd9fa64 fix: axum middlewares only handles routes that are registered 2023-11-23 09:31:39 +08:00
sonique6784 b9cb5a025e
feat: add support for Kotlin language (#813)
* feat: add support for Kotlin

* Update programming-languages.md

* Update Cargo.toml

* fix: kotlin missing TAGGING_QUERY

* docs: remove 0.5.0 warning as tabby adapt same format for remote / local storage

* feat: make --model optional, so user can start a chat only instance (#817)

* fix: mark tabby-ui as yarn managed

* fix: rust build caused by 1.74.0 release (#819)

* chore: exclude experimental directory for language stats

* chore: exclude ee/tabby-webserver/ui to language stats

* fix: move db path, fix compile error (#820)

* feat(vscode): Add dont-show-again for warnings.  Add online help links. (#821)

* refactor: delete contrib/jetson/Dockerfile as it's no longer compatible post 0.5

feel free to sending pr of adding it back if you get it work with llama.cpp based docker image

* feat(vim): update tabby-agent. (#824)

* feat(intellij): Add dont-show-again for warnings. Add more online help links. (#823)

* feat: implement basic dependency detection for python / rust (#825)

* refactor: extract tags mod for dataset.rs

* feat: implement basic dependency detection for python / rust

* fix: keep only direct dependency, clean up path (#827)

* feat: add support for Kotlin

* Update Cargo.toml

* fix: adjustment post rebase

* fix: added kotlin.scm to cover query tags

* fix: updated kotlin.scm

* remove definition import

Co-authored-by: Meng Zhang <meng@tabbyml.com>

* remove typealias

Co-authored-by: Meng Zhang <meng@tabbyml.com>

---------

Co-authored-by: Meng Zhang <meng@tabbyml.com>
Co-authored-by: Eric <illuminating.me@gmail.com>
Co-authored-by: Zhiming Ma <codes.icy@gmail.com>
2023-11-23 09:31:23 +08:00
Meng Zhang b35d286d9e
fix: save_model_info failed if dir not exist (#845) 2023-11-20 04:27:30 +00:00
Meng Zhang d8e83d0610
refactor: extract run_app function (#843)
* refactor: extract run_app function

* lint

* change route to /metrics

* refactor
2023-11-20 01:00:35 +00:00
Jonathan Poisson 6dabecc3ee
feat: add Prometheus support to Tabby. (#838)
* Added Prometheus support to Tabby.

1) Added `axum-prometheus` to Cargo.toml

2) Added `metrics.rs` as a simple route to produce a metrics endpoint with prometheus-formatted events

3) Added `/v1/metrics` endpoint with API doc entry

4) Added the `PrometheusLayer` to the root layers.

This change effectively allows for external Prometheus to scrape metrics from Tabby during execution in order to monitor operations (resources, timings and overall usage).

* changed application/text to text/plain to adhere to rfc1341

* Update Makefile

* Update Makefile

* Update Makefile

* Update Makefile

* Update Makefile

* Update Makefile

* - Reworked code to fit upstream changes
- Added Prometheus layer and handle to worker.rs

* Update CHANGELOG.md

* [autofix.ci] apply automated fixes

* Simplified worker metrics route definition

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

---------

Co-authored-by: Meng Zhang <meng@tabbyml.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-19 15:40:57 -08:00
Meng Zhang b56ad6eda9
fix: cors / otlp should be applied on all serve endpoints (#839) 2023-11-19 21:47:23 +00:00
Meng Zhang a12f741565
feat: use remote code search in workers (#833)
* refactor: lift tabby::api::code to tabby_common::api::code

* feat: use remote code search in workers

* update

* handle errors
2023-11-18 23:45:00 +00:00
Meng Zhang b862d9d100
feat: support worker events logging (#831)
* refactor: lift tabby::api::event to tabby_common::api::event

* feat: allow worker write logs to webserver::api::Hub service

* refactor: implement RawEventLogger on HubClient directly

* fix: build context in request's scope
2023-11-18 23:17:54 +00:00
Meng Zhang 530e142d63
fix: keep only direct dependency, clean up path (#827) 2023-11-18 08:50:16 +00:00
Meng Zhang 1fe0922c72
feat: implement basic dependency detection for python / rust (#825)
* refactor: extract tags mod for dataset.rs

* feat: implement basic dependency detection for python / rust
2023-11-18 08:05:48 +00:00
Eric fcfa13136a
fix: move db path, fix compile error (#820) 2023-11-17 18:08:07 -08:00
Meng Zhang 25621547a7
feat: make --model optional, so user can start a chat only instance (#817) 2023-11-17 22:35:58 +00:00
Eric ce338c7436
feat: validate token during worker registration (#803)
* feat: validate token during worker registration

* [autofix.ci] apply automated fixes

* [autofix.ci] apply automated fixes (attempt 2/3)

* resolve comments

* reslove comments

* format file, update schema file

* resolve comment

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-16 23:05:39 -08:00
Meng Zhang d0c9b56467
fix: chat model loading is wrongly distributed to --model (#801) 2023-11-16 03:35:12 +00:00
Meng Zhang d41942975d
feat: match local model directory to MODEL_SPEC.md (#800) 2023-11-16 03:33:38 +00:00
Meng Zhang abe0411f03
feat: add ee feature flag to distinguish the OSS and EE offering (#789)
* feat: add ee feature flag to distinguish the OSS offering and EE augmented offering

* [autofix.ci] apply automated fixes

* fix lint

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-14 16:15:15 -08:00
Meng Zhang bd072d8fb9
feat(ui): always display chat api endpoints in swagger doc (#784) 2023-11-14 21:10:41 +00:00
Meng Zhang 618009373b
refactor: use tarpc for easier worker <-> hub communication (#781)
* temp

* generic

* adapt client

* rename to api

* Revert "rename to api"

This reverts commit 8a51b24fecd76a78e6df576ec51605b8d8418975.

* refactor: remove uselss mutation

* remove useless connection

* cleanup api structure

* restructure

* add webserver api error

* webserver.rs -> server.rs

* rename service to Hub

* update schema

* update naming

* shrink features

* update

* mv worker.rs -> server/worker.rs
2023-11-14 12:48:20 -08:00
Meng Zhang e521f0637c
feat: add worker command worker::completion and worker::chat (#778) 2023-11-13 23:21:57 +00:00
Maciej ebbe6e5af8
fix: helpful message when llama.cpp submodule is not present (#719) (#775) 2023-11-13 07:51:46 +00:00
Meng Zhang e0017cadec
refactor: extract routes/ to share routes between commands (#774)
* refactor: extract routes/ to share routes between commands

* refactor: extract events api

* extract EventLogger service

* lift api into sub packages

* services completions -> completion

* remove useless code

* fix test
2023-11-13 06:24:20 +00:00
Meng Zhang bad87a99a2 refactor: serve/engine.rs => services/model.rs 2023-11-12 20:41:15 -08:00