Commit Graph

48 Commits (ca80413a40894025d9f648e016f08daa8297e98b)

Author SHA1 Message Date
Meng Zhang b2a92f1cf7
test(golden): switch to cargo-insta for better developer experience (#1018) 2023-12-11 04:40:41 +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 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 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 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 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 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 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 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 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 d27c09d75d
fix: ignore NotReady error for IndexServer (#559) 2023-10-14 02:21:17 -07: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 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 9cd2accbaa
feat: adjust code indexing logic (#510) 2023-10-05 05:29:41 +00:00
Meng Zhang 2d5b3e4ff5 chore: release v0.2.1 2023-10-03 17:13:39 -07:00
Meng Zhang ceaa7ab012 chore: update main branch to v0.3.0-dev 2023-10-03 13:38:27 -07:00
Meng Zhang 1731c3075e chore: Update version to 0.2.0 2023-10-03 13:32:21 -07:00
Meng Zhang 692c2fe0fd Release 0.2.0-rc.0
ctranslate2-bindings@0.2.0-rc.0
http-api-bindings@0.2.0-rc.0
llama-cpp-bindings@0.2.0-rc.0
tabby@0.2.0-rc.0
tabby-common@0.2.0-rc.0
tabby-download@0.2.0-rc.0
tabby-inference@0.2.0-rc.0
tabby-scheduler@0.2.0-rc.0

Generated by cargo-workspaces
2023-10-02 19:14:12 -07:00
Meng Zhang 486e507079
fix: correct Decoding behavior in incremental manner (#491)
* feat: implement IncrementalDecoding

* refactor: use IncrementalDecoding for ctranslate2

* refactor: rename StopWords to DecodingFactory

* refactor: move decoding logic to tabby-inference

* feat: optimize decoding range

* cleanup
2023-09-29 13:06:47 +00:00
Meng Zhang 44f013f26e
feat: add /generate and /generate_streaming (#482)
* feat: add generate_stream interface

* extract engine::create_engine

* feat add generate::generate

* support streaming in llama.cpp

* support streaming in ctranslate2

* update

* fix formatting

* refactor: extract helpers functions
2023-09-28 17:20:50 +00:00
Meng Zhang d42942c379
feat: support ModelScope for model registry downloading (#477)
* feat: update cache info file after each file got downloaded

* refactor: extract Downloader for model downloading logic

* refactor: extract HuggingFaceRegistry

* refactor: extract serde_json to workspace dependency

* feat: add ModelScopeRegistry

* refactor: extract registry to its sub dir.

* feat: add scripts to mirror hf model to modelscope
2023-09-26 11:52:11 -07:00
Meng Zhang 1ccf9b2323 refactor: run make fix 2023-09-11 12:58:38 +08:00
Meng Zhang 17397c8c8c
feat: add http api bindings (#410)
* feat: add http-api-bindings

* feat: add http-api-bindings

* hand max_input_length

* rename

* update

* update

* add examples/simple.rs

* update

* add default value for stop words

* update

* fix lint

* update
2023-09-09 03:59:42 +00:00
Meng Zhang 3573d4378e
feat: llama.cpp for metal support [TAB-146] (#391)
* feat: init commit adding llama-cpp-bindings

* add llama.cpp submodule

* add LlamaEngine to hold llama context / llama model

* add cxxbridge

* add basic greedy sampling

* move files

* make compile success

* connect TextGeneration with LlamaEngine

* experimental support llama.cpp

* add metal device

* add Accelerate

* fix namespace for llama-cpp-bindings

* fix lint

* move stepping logic to rust

* add stop words package

* use stop-words in ctranslate2-bindings

* use raw string for regex

* use Arc<Tokenizer> for sharing tokenizers

* refactor: remove useless stop_words_encoding_offset

* switch to tokenizers 0.13.4-rc.3

* fix lints in cpp

* simplify implementation of greedy decoding

* feat: split metal feature for llama backend

* add ci

* update ci

* build tabby bin in ci build
2023-09-03 09:59:07 +08:00
Meng Zhang d0f6ad2d2a
feat: add anonymous usage tracker (#342)
* feat: add anonymous usage tracker

* improve deps

* update

* update
2023-08-09 07:31:13 +00:00
Meng Zhang b8308b7118
refactor: extract TextGeneration trait (#324)
* add tabby-inference

* extract TextGeneration trait

* format

* Rename TextInferenceEngine to CTranslate2Engine
2023-08-02 06:12:51 +00:00
Meng Zhang 4388fd0050
feat: support prompt rewriting (#295)
* refactor: extract PromptBuilder

* feat: load tantivy index in prompt builder

* integrate with searcher

* add enable_prompt_rewrite to control rewrite behavior

* nit docs

* limit 1 snippet per identifier

* extract magic numbers
2023-07-13 09:05:41 +00:00
Meng Zhang fcbc5edc55
Revert "feat: add /experimental/search endpoint (#258)" (#260)
This reverts commit 04980160e5.
2023-06-22 14:23:35 -07:00
Meng Zhang 04980160e5
feat: add /experimental/search endpoint (#258)
* feat: add /experimental/search endpoint

* fix format
2023-06-22 20:47:32 +00:00
Meng Zhang 7ed5dd584d
feat: experiment ctags support in scheduler (#207)
* experiment ctags support

* add document.rs

* extract Document to common

* integrate tags into dataset builder

* skip if none

* do not add scheduler in client binary

* fix fmt
2023-06-21 19:48:13 -07:00
Meng Zhang 249d51d0f5
feat: add indexer [TAB-17] (#199)
* add basic indexer

* formatting
2023-06-05 22:18:10 +00:00
Meng Zhang e8a33312bb
refactor: extract download into tabby-download (#195)
* refactor: extract download into tabby-download

* remove unused deps
2023-06-05 18:40:24 +00:00
Meng Zhang e8b1c10738
feat: add `tabby scheduler` command (#194)
* feat: add `tabby scheduler` command

* update test cases

* fix fmt
2023-06-05 18:29:38 +00:00
Meng Zhang da02d471a9
chore: add tabby-scheduler [TAB-17] (#192)
* add scheduler

* update fmt

* add integration tests for scheduler
2023-06-05 03:08:43 +00:00
Meng Zhang 2bf5bcd0cf
refactor: extract TextInferenceEngineImpl to reduce duplications between EncoderDecoderImpl and DecoderImpl #189 2023-06-04 22:28:39 +00:00
Meng Zhang 6de61f45bb
chore: mark thread safety [TAB-52] (#186)
* mark thread safety

* use shared_ptr to ensure thread safety

* fmt
2023-06-04 06:23:31 +00:00
Meng Zhang f3b37b253b
feat: add events logger (#170)
* add common events

* log events in serve

* formatting

* extract serde_conv

* update

* update

* fix logging

* update
2023-05-30 15:44:29 -07:00
Meng Zhang d8cee4adac
chore: extract tabby-common (#169)
* chore: extract tabby-common

* simplify
2023-05-29 23:39:02 -07:00
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