Commit Graph

96 Commits (wsxiaoys-patch-3)

Author SHA1 Message Date
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 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 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 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
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 febfa18e4a
refactor: move code api to tabby/serve (#771) 2023-11-12 22:58:15 +00:00
Meng Zhang 3a9b4d9ef5
feat: add graphql interface to tabby-webserver (#770)
feat: add graphql interface to tabby-webserver
2023-11-12 14:52:28 -08:00
Meng Zhang 15f768a971 feat: add tabby-webserver as distribution layer of tabby #769 2023-11-12 13:07:07 -08:00
Meng Zhang d7180ec7b9 fix: remove useless hyper-reverse-proxy 2023-11-11 14:42:57 -08:00
Meng Zhang 7695a667bb refactor: move tabby/src/search.rs -> tabby/src/services/search.rs 2023-11-11 14:42:57 -08:00
Meng Zhang 73a76a3d8e
feat(scheduler): add a tqdm bar for scheduler job to better present the remaining time. (#754)
* feat(scheduler): add a tqdm bar for scheduler job to better present the
remaining time.

* update

* add changelog
2023-11-10 19:52:07 +00:00
Meng Zhang b510f61aca
refactor: extract tabby_common::api::code / tabby_common::index::CodeSearchSchema (#743)
* refactor: extract tabby_common::api::code

mark CodeSearch being Send + Sync

* extract CodeSearchSchema
2023-11-10 10:11:13 -08:00
Meng Zhang b51520062a
refactor: extract ChatState -> ChatService (#730) 2023-11-08 22:12:29 +00:00
leiwen83 3fb8445747
feat: supports java (#715)
* feat: add java language configuration

* feat: add java repository context support

* Update programming-languages.md

* added rev to tree-sitter-java

Signed-off-by: Lei Wen <wenlei03@qiyi.com>
Co-authored-by: Lei Wen <wenlei03@qiyi.com>
2023-11-07 23:59:00 -08:00
Meng Zhang 9344c32b31
fix: when there's an error happens in background inference loop, it should exit the process (#713) 2023-11-06 20:41:49 +00:00
Meng Zhang 00e0c4fddc
chore: add machete check to ensure no unused dependencies (#701)
* refactor: remove useless dependencies

* add machete
2023-11-05 02:48:05 +00:00
Meng Zhang 33ef27ba30
feat: support downloading resume (#700) 2023-11-05 02:38:06 +00:00
Meng Zhang fc9c9f644b Release 0.6.0-dev
http-api-bindings@0.6.0-dev
llama-cpp-bindings@0.6.0-dev
tabby@0.6.0-dev
tabby-common@0.6.0-dev
tabby-download@0.6.0-dev
tabby-inference@0.6.0-dev
tabby-scheduler@0.6.0-dev

Generated by cargo-workspaces
2023-11-03 18:04:12 -07:00
Meng Zhang ec8d88de0d
chore: release 0.5.0 (#697)
* Release 0.5.0-rc.0

http-api-bindings@0.5.0-rc.0
llama-cpp-bindings@0.5.0-rc.0
tabby@0.5.0-rc.0
tabby-common@0.5.0-rc.0
tabby-download@0.5.0-rc.0
tabby-inference@0.5.0-rc.0
tabby-scheduler@0.5.0-rc.0

Generated by cargo-workspaces

* fix: docker branch tag should only generate when not empty

* Release 0.5.0-rc.1

http-api-bindings@0.5.0-rc.1
llama-cpp-bindings@0.5.0-rc.1
tabby@0.5.0-rc.1
tabby-common@0.5.0-rc.1
tabby-download@0.5.0-rc.1
tabby-inference@0.5.0-rc.1
tabby-scheduler@0.5.0-rc.1

Generated by cargo-workspaces

* fix: handlebar syntax in meta action

* Release 0.5.0-rc.2

http-api-bindings@0.5.0-rc.2
llama-cpp-bindings@0.5.0-rc.2
tabby@0.5.0-rc.2
tabby-common@0.5.0-rc.2
tabby-download@0.5.0-rc.2
tabby-inference@0.5.0-rc.2
tabby-scheduler@0.5.0-rc.2

Generated by cargo-workspaces

* fix: handlebar syntax in meta action

* Release 0.5.0-rc.3

http-api-bindings@0.5.0-rc.3
llama-cpp-bindings@0.5.0-rc.3
tabby@0.5.0-rc.3
tabby-common@0.5.0-rc.3
tabby-download@0.5.0-rc.3
tabby-inference@0.5.0-rc.3
tabby-scheduler@0.5.0-rc.3

Generated by cargo-workspaces

* docs: update change log and docs

* fix: collect_snippet should handle NotReady error

* Release 0.5.0-rc.4

http-api-bindings@0.5.0-rc.4
llama-cpp-bindings@0.5.0-rc.4
tabby@0.5.0-rc.4
tabby-common@0.5.0-rc.4
tabby-download@0.5.0-rc.4
tabby-inference@0.5.0-rc.4
tabby-scheduler@0.5.0-rc.4

Generated by cargo-workspaces

* Release 0.5.0

http-api-bindings@0.5.0
llama-cpp-bindings@0.5.0
tabby@0.5.0
tabby-common@0.5.0
tabby-download@0.5.0
tabby-inference@0.5.0
tabby-scheduler@0.5.0

Generated by cargo-workspaces
2023-11-03 18:02:03 -07:00
Meng Zhang 0e4a2d2a12
feat: simplify download management, model file should be able to indi… (#690)
* feat: simplify download management, model file should be able to individually introduced

* fix typo

* update local model support

* update spec back

* update spec

* update

* update
2023-11-02 16:01:04 -07:00
Meng Zhang 36ffeb63f1 refactor: remove useless rust-cxx-cmake-bridge 2023-10-31 17:58:21 -07:00
Meng Zhang 296342efd8
refactor: use llama.cpp tokenizer (#683)
* refactor: switch to llama.cpp tokenizer to simplify implementation

* refactor: remove tokenizer dependency from tabby

* refactor: renaming decoding to stop condition

* refactor: remove tokenizer dependency

* refactor: remove submodule

* chore: update formatting

* move tokenization to c++
2023-10-31 22:16:09 +00:00
Meng Zhang 8dc5526091 Revert "feat: supports PHP (#634)"
This reverts commit 688e7d75b5.
2023-10-28 23:02:10 -07:00
Meng Zhang 23bd542cec
feat: switch cuda backend to llama.cpp (#656)
* feat: switch cuda backend to llama.cpp

* fix

* fix
2023-10-27 13:41:22 -07:00
Meng Zhang 82971758c5 fix: Cargo.lock versioning 2023-10-27 12:26:49 -07:00
Oleksandr 688e7d75b5
feat: supports PHP (#634)
* feat: add php language configuration

* feat: add php repository context support

* docs: update documentation to indicate php support

* Update programming-languages.md

* added rev to tree-sitter-php

---------

Co-authored-by: Aleksandr Tarabaka <aleksandr.tarabaka@privatbank.ua>
Co-authored-by: Meng Zhang <meng@tabbyml.com>
2023-10-26 19:27:57 +00:00
Meng Zhang e171776774 Release 0.5.0-dev
ctranslate2-bindings@0.5.0-dev
http-api-bindings@0.5.0-dev
llama-cpp-bindings@0.5.0-dev
rust-cxx-cmake-bridge@0.5.0-dev
tabby@0.5.0-dev
tabby-common@0.5.0-dev
tabby-download@0.5.0-dev
tabby-inference@0.5.0-dev
tabby-scheduler@0.5.0-dev

Generated by cargo-workspaces
2023-10-24 13:05:33 -07:00
Meng Zhang 422b27d2ed
feat: support local directory for Repository.git_url (#622) 2023-10-24 01:29:38 +00:00
Chromium da6109c5af
feat: Add Ruby Language Support (#597)
* feat: add Ruby Support

* fix: address the comments

* Update dataset.rs

---------

Co-authored-by: Meng Zhang <meng@tabbyml.com>
2023-10-20 18:48:37 +00:00
Meng Zhang 98761c2a79
chore: adjust loadtest value based on release v0.3.0 (#572)
* chore: adjust loadtest value based on release v0.3.0

* Update default.loadtest.js
2023-10-16 15:13:26 -07:00
Meng Zhang 1503ef6aba
test: add golden test for tabby server (#566)
* test: add golden test for tabby server

* fix
2023-10-16 08:06:37 +00:00
Meng Zhang 99a7053b6f
refactor: extract language configuration into individual toml file (#564)
* refactor: extract language configuration into individual toml file

* feat: add golang language configuration (#565)
2023-10-16 00:24:44 +00:00
Meng Zhang d27c09d75d
fix: ignore NotReady error for IndexServer (#559) 2023-10-14 02:21:17 -07:00
Meng Zhang b9df0eb260
feat: add golang repository context support (#555) 2023-10-14 07:57:54 +00:00
Meng Zhang 82e893d569 Release 0.4.0-dev
ctranslate2-bindings@0.4.0-dev
http-api-bindings@0.4.0-dev
llama-cpp-bindings@0.4.0-dev
rust-cxx-cmake-bridge@0.4.0-dev
tabby@0.4.0-dev
tabby-common@0.4.0-dev
tabby-download@0.4.0-dev
tabby-inference@0.4.0-dev
tabby-scheduler@0.4.0-dev

Generated by cargo-workspaces
2023-10-13 17:54:14 -07:00
Meng Zhang 4dbaf4f312 Release 0.3.0
ctranslate2-bindings@0.3.0
http-api-bindings@0.3.0
llama-cpp-bindings@0.3.0
rust-cxx-cmake-bridge@0.3.0
tabby@0.3.0
tabby-common@0.3.0
tabby-download@0.3.0
tabby-inference@0.3.0
tabby-scheduler@0.3.0

Generated by cargo-workspaces
2023-10-13 17:45:07 -07:00
Meng Zhang eb463ba496 Release 0.3.0-rc.1
ctranslate2-bindings@0.3.0-rc.1
http-api-bindings@0.3.0-rc.1
llama-cpp-bindings@0.3.0-rc.1
rust-cxx-cmake-bridge@0.3.0-rc.1
tabby@0.3.0-rc.1
tabby-common@0.3.0-rc.1
tabby-download@0.3.0-rc.1
tabby-inference@0.3.0-rc.1
tabby-scheduler@0.3.0-rc.1

Generated by cargo-workspaces
2023-10-13 11:43:34 -07:00
Meng Zhang 182aceed41 Release 0.3.0-rc.0
ctranslate2-bindings@0.3.0-rc.0
http-api-bindings@0.3.0-rc.0
llama-cpp-bindings@0.3.0-rc.0
tabby@0.3.0-rc.0
tabby-common@0.3.0-rc.0
tabby-download@0.3.0-rc.0
tabby-inference@0.3.0-rc.0
tabby-scheduler@0.3.0-rc.0

Generated by cargo-workspaces
2023-10-13 11:24:36 -07:00
Meng Zhang 1ad871e1ff
feat: add debug request / response to visualize prompting with source code index (#544)
* feat: logs segments in completion log

* feat: tune prompt format and improve testing

* add debug options for easier of visualizing the prompt

* update
2023-10-12 19:27:52 -07:00
Meng Zhang 888fbca7e1
feat: support indexing typescript / javascript / tsx / jsx (#539) 2023-10-12 00:42:58 +00:00
Meng Zhang 6dbb712918 Release 0.3.0-dev
ctranslate2-bindings@0.3.0-dev
http-api-bindings@0.3.0-dev
llama-cpp-bindings@0.3.0-dev
tabby@0.3.0-dev
tabby-common@0.3.0-dev
tabby-download@0.3.0-dev
tabby-inference@0.3.0-dev
tabby-scheduler@0.3.0-dev

Generated by cargo-workspaces
2023-10-09 19:39:27 -07:00
Meng Zhang d21a4de79c
chore: set max timeout for /v1/completions handler (#526)
* chore: set max timeout for /v1/completions handler

* refactor: extract sub routers

* fix
2023-10-09 18:44:55 -07:00
Meng Zhang 8497fb1372
feat: implement /v1beta/search interface (#516)
* feat: implement /v1beta/search interface

* update

* update

* improve debugger
2023-10-06 18:54:12 +00:00
Meng Zhang 9cd2accbaa
feat: adjust code indexing logic (#510) 2023-10-05 05:29:41 +00:00
Meng Zhang 1babc38902
feat: add datset viewer, remove treesitter languages that hasn't been verified (#509)
* refactor: remove not verified tree sitter queries

* feat(experimental): add dataset viewer

update
2023-10-04 21:49:42 -07:00
Meng Zhang 55f68d4224
test: unit test for indexing job (#508)
* test: unit test for indexing job

* update

* reduce test fixture length
2023-10-04 23:27:19 +00:00