Commit Graph

324 Commits (d1563d82cdbcf21c6f12018a2b09240fc157d567)

Author SHA1 Message Date
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 17db8a2950 refactor: use unwrap_or_default as suggested by clippy nightly 2023-11-12 13:48:55 -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 8e58ff4003 refactor: move chat.rs to services/ rename search.rs -> code.rs 2023-11-11 14:42:57 -08:00
Meng Zhang 4069fe735f refactor: remove useless route check for playground 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 fce94f622b refactor: use Arc<dyn TextGeneration> and Arc<dyn CodeSearch> 2023-11-11 14:42:57 -08:00
Eric 22592374c1
refactor: add experimental-http feature (#750)
* add experimental-http feature, update code

* refactor: add experimental-http feature
2023-11-11 17:50:16 +00:00
Meng Zhang 41f60d3204
refactor(code): extract `search_in_language` (#762)
* chore: init tabby-webserver

* add code search worker registry

* add webserver command

* add graphql

* extract schema

* refactor: extract registry.rs

* refactor

* update

* update

* update

* update

* update

* fix lint
2023-11-10 17:29:50 -08:00
Meng Zhang 9380da130e fix: fix tests 2023-11-10 14:57:15 -08:00
Meng Zhang 4068d6e81d
refactor: extract BoxCodeSearch as interface to CodeSearch (#756) 2023-11-10 22:55:51 +00: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 3600ef77fc fix: clippy warnings in CodeSearchSchema 2023-11-10 11:48:52 -08:00
Meng Zhang 27ed9c2cc4
fix: tantivy requires more memory for indexing in new version. (#753) 2023-11-10 11:41:50 -08: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
Erfan Safari 138b7459c5
feat: add LLAMA_CPP_N_THREADS env (#742)
* feat: add LLAMA_CPP_N_THREADS and LLAMA_CPP_N_THREADS_BATCH envs

* apply format

* improve: use LLAMA_CPP_N_THREADS for both n_threads and n_threads_batch

* Update crates/llama-cpp-bindings/src/engine.cc

---------

Co-authored-by: Meng Zhang <meng@tabbyml.com>
2023-11-09 19:54:23 +00:00
Meng Zhang 8c669dee8e
fix: llama.cpp queuing logic (#741) 2023-11-09 08:29:54 +00:00
Meng Zhang 03ff80efdb feat: update tabby-ui 2023-11-08 16:07:39 -08:00
Meng Zhang cde3602877 feat: sync llama.cpp to latest 2023-11-08 16:06:09 -08:00
Meng Zhang b51520062a
refactor: extract ChatState -> ChatService (#730) 2023-11-08 22:12:29 +00:00
Meng Zhang 72d1d9f0bb
refactor: extract IndexServer into CodeSearchService (#728)
* refactor: extract IndexServer into CodeSearchService

* refactor: make CodeSearchService interface to be async
2023-11-08 21:42:03 +00:00
Meng Zhang 8ab35b2639
feat: add --parallelism to control throughput and vram usage (#727)
* feat: add --parallelism to control throughput and vram usage

* update default

* Revert "update default"

This reverts commit 349792c0d48d913dcd8be4ce1c9d7ce887918f29.

* cargo fmt
2023-11-08 18:31:22 +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 1ad0d39903
fix: deadlock between background job and requests (#720)
* fix: deadlock between background job and requests

* refactor: extract LlamaService
2023-11-07 13:11:28 -08:00
Meng Zhang 3c3b14c9f5
fix: cuda serialization 2023-11-07 00:55:38 -08:00
Meng Zhang ca52ac4b01 fix: support cpu only run in llama.cpp cuda build 2023-11-06 22:59:24 -08:00
Meng Zhang eb7ae96157
fix: llama.cpp requires kv cache to be N_CTX * parallelism (#714) 2023-11-07 06:16:36 +00: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 64e0abb8cc fix(llama.cpp): wrongly index for n_seq in warmup 2023-11-04 17:53:22 -07:00
Meng Zhang c7c67c2f90 fix: llama.cpp warmp logic 2023-11-04 14:28:04 -07: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 e4efcc4091
fix: avoid special keywords (e.g AND) failed the query parsing (#695) 2023-11-03 01:13:28 +00:00
Meng Zhang 2adcc0726c
feat: support prefix query on name field (#694)
* feat: support prefix phase query on name field

* update changelog
2023-11-03 01:04:33 +00:00
Meng Zhang acb3a33d78 fix: handle non utf-8 / utf-16 error 2023-11-02 16:29:30 -07:00
Meng Zhang eb34850a5e fix: output err if step failed 2023-11-02 16:15:11 -07:00
Meng Zhang 4c7eae584e
feat: add model warmup logic (#693) 2023-11-02 23:07:32 +00: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 f15926f233 chore(ui): update crates/tabby/ui 2023-10-31 08:51:22 -07:00
Meng Zhang 3f1f8bfd30 fix: add /swagger to tabby ui handler 2023-10-30 17:36:22 -07:00
Meng Zhang 73758e207d
feat: improve dashboard UI (#677) 2023-10-30 21:47:38 +00:00
Meng Zhang b4772fbcd0
feat(ui): add dashboard (#674)
* feat(ui): add dashboard

* handle path
2023-10-30 07:29:50 +00:00
Meng Zhang 89a63dbf33
fix: when send failed, treat the request as stopped (#673) 2023-10-30 06:27:09 +00:00
Meng Zhang de827b1e74
Revert "feat: make --model optional (#668)" (#672)
This reverts commit c55e4481ba.
2023-10-29 21:44:11 -07:00
leiwen83 b47bdd5d77
fix: align with fastchat mainstream (#670)
Fastchat mainstream change its return format, and text now is only
string in choices structure.

So make this change, to work with mainstream fastchat.

Signed-off-by: Lei Wen <wenlei03@qiyi.com>
Co-authored-by: Lei Wen <wenlei03@qiyi.com>
2023-10-29 19:31:46 -07:00
Meng Zhang 88d2617a34
fix: move events writer to individual thread (#669) 2023-10-30 01:31:41 +00:00
Meng Zhang c55e4481ba
feat: make --model optional (#668) 2023-10-30 00:04:42 +00:00
Meng Zhang 7330d75de6 chore: clear cache when there's no active requests 2023-10-29 16:30:30 -07:00
Meng Zhang 2ee5dbfd4f
chore: move tabby-ui under ee license. (#667)
* chore: introduce tabby-ui EE license.

* update
2023-10-29 15:56:57 -07:00
Meng Zhang 8c680a73fb
feat(ui): add /api page (#665)
* refactor(tabby-ui): extract tabby-fetcher

* feat(tabby-ui): add /api page

* feat(tabby-ui): add chat model badge

* fix: add components.json for shadcn

* chore: release tabby-ui
2023-10-29 14:55:50 -07:00
Meng Zhang 7bd99d14c0
feat: support continuous batching in llama.cpp backend (#659)
* refactor: switch back to llama batch interface

* feat: support cont batching
2023-10-28 23:37:05 -07:00
Meng Zhang 14d03b6826 fix(ui): handle invalid semver error 2023-10-28 23:30:35 -07:00
Meng Zhang 8dc5526091 Revert "feat: supports PHP (#634)"
This reverts commit 688e7d75b5.
2023-10-28 23:02:10 -07:00
Meng Zhang 43cc5f38cc feat: do not download ctranslate2 files in downloader 2023-10-28 02:27:09 -07:00
Meng Zhang 444222683a fix(llama.cpp): bump upstream fix for starcoder model on cuda 2023-10-28 02:03:34 -07:00
Meng Zhang 9309e0314f fix: fix docker build 2023-10-27 21:25:45 -07:00
Meng Zhang 6dd12ce1ec
fix: adding cuda search path to docker build. 2023-10-27 19:40:35 -07:00
Meng Zhang 2d948639be
fix: docker build for llama cuda backend 2023-10-27 16:36:54 -07:00
Meng Zhang 361091385d
Update CMakeLists.txt 2023-10-27 15:40:52 -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 f37840566b
feat: upgrade llama.cpp (#645)
* feat: upgrade llama.cpp

* update download files

* update changelog

* Update CHANGELOG.md

* Update CHANGELOG.md
2023-10-27 12:18:46 -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 62054cb4f1
feat: add new version notice in tabby-ui (#640)
* refactor: extract useHealth hook

* feat: add new version notice
2023-10-26 00:48:18 +00:00
Meng Zhang 9ecbf9031f
refactor: rename tabby-playground to tabby-ui (#639) 2023-10-25 23:05:11 +00:00
Meng Zhang 1a4c2aa71f
feat: swtich cpu backend to llama.cpp (#638)
* feat: swtich Cpu backend to llama.cpp

* feat: switch cpu serving to ggml

* fix cargo.toml

* use optional dependency

* fix compliation

* update ci target
2023-10-25 15:40:11 -07:00
Meng Zhang 21ec60eddf
feat: add server.completion_timeout to control timeout of /v1/completion (#637)
* feat: add server.completion_timeout to control timeout of /v1/completion

* Update config.rs
2023-10-25 22:05:23 +00:00
Meng Zhang d6296bb121 refactor: remove useless SwaggerConfig 2023-10-25 13:46:46 -07: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 887e50000a
docs: add telemetry information when creating usage id for tracking (#627) 2023-10-24 13:02:37 -07:00
Meng Zhang b4842619a3
feat: encrich home screen info (#628) 2023-10-24 13:01:14 -07:00
Meng Zhang 4c6f4b159a
fix: chat completions should use empty stop words (#626) 2023-10-24 15:49:11 +00:00
Meng Zhang 2a40d36e20
feat: add main screen to localhost:8080 (#625)
* feat: add main screen to localhost:8080

* update playground

* feat: use / in playground handler

* update

* fix slack link

* fix next routing

* fix lint
2023-10-24 15:36:08 +00:00
Siwen Yu 44cac0b1c0
chore: add support for building on jetson device (#620)
* add support for building on jetson devices

* fix wrong file to check

* refactor the environment check of CTranslate2 building

* chore: remove unused code

* chore: format code
2023-10-24 07:31:14 +00:00
Meng Zhang d3331c591e fix(TAB-251): local url should be in format of file:///path/to/repo 2023-10-23 18:41:52 -07:00
Meng Zhang 422b27d2ed
feat: support local directory for Repository.git_url (#622) 2023-10-24 01:29:38 +00:00
Meng Zhang 8fca850037
feat(eval): add debug_options.raw_prompt to tabby api for evaluation purpose (#605)
* update eval

* feat: re-purpose  as raw input to LLM

* move prompt to Debug options

* Update crates/tabby/src/serve/completions.rs
2023-10-21 20:47:44 +00:00
Meng Zhang 049ebdf9a9 fix: use ruby tree sitter tag query 2023-10-21 13:01:18 -07: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 5a822c03b6
fix: cap parallelisim to 4 for cuda to avoid oom (#601) 2023-10-20 07:54:53 +00:00
Meng Zhang fc63dd7458
chore: set health heartbit to every 30 minutes (#591) 2023-10-18 15:59:16 -07:00
Meng Zhang f9eb052659
feat: dedup against existing snippets for retrieval augmented code (#582)
completion.
2023-10-17 23:10:01 +00:00
Meng Zhang 99d1bf34bb
fix: add flag to disable retrieval augmented code completion and set … (#580)
* fix: add flag to disable retrieval augmented code completion and set it in golden test

* update
2023-10-17 22:26:23 +00:00
Meng Zhang 981133d6c8
fix: remove empty tokens for similarity calculation (#581) 2023-10-17 22:25:38 +00:00
Meng Zhang 2060d47a95
fix: trim the sanitized text to skip empty queries. (#573) 2023-10-16 17:45:49 -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 2e8b12951d
fix(prompt): revert back the behavior, enabling fill-in-the-middle if suffix is empty (use an linebreak as suffix) (#560) 2023-10-14 11:42:18 -07: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 9dc5acb62e
feat: add golang's top-level keywords to golang's stop words. (#554) 2023-10-14 07:42:26 +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 ac73cbb6f9 fix: revisit language stop words support 2023-10-13 13:40:55 -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