at master 1.6 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 setuptools, 6 aiohttp, 7 fastapi, 8 httpx, 9 markdown2, 10 nh3, 11 numpy, 12 prompt-toolkit, 13 pydantic, 14 requests, 15 rich, 16 shortuuid, 17 tiktoken, 18 uvicorn, 19 anthropic, 20 openai, 21 ray, 22 wandb, 23 einops, 24 gradio, 25 accelerate, 26 peft, 27 sentencepiece, 28 torch, 29 transformers, 30 protobuf, 31}: 32let 33 version = "0.2.36"; 34in 35buildPythonPackage { 36 pname = "fschat"; 37 inherit version; 38 format = "pyproject"; 39 40 src = fetchFromGitHub { 41 owner = "lm-sys"; 42 repo = "FastChat"; 43 tag = "v${version}"; 44 hash = "sha256-tQuvQXzQbQjU16DfS1o55VHW6eklngEvIigzZGgrKB8="; 45 }; 46 47 nativeBuildInputs = [ setuptools ]; 48 49 propagatedBuildInputs = [ 50 aiohttp 51 fastapi 52 httpx 53 markdown2 54 nh3 55 numpy 56 prompt-toolkit 57 pydantic 58 requests 59 rich 60 shortuuid 61 tiktoken 62 uvicorn 63 # ] ++ markdown2.optional-dependencies.all; 64 ]; 65 66 optional-dependencies = { 67 llm_judge = [ 68 anthropic 69 openai 70 ray 71 ]; 72 train = [ 73 # flash-attn 74 wandb 75 einops 76 ]; 77 webui = [ gradio ]; 78 model_worker = [ 79 accelerate 80 peft 81 sentencepiece 82 torch 83 transformers 84 protobuf 85 ]; 86 }; 87 88 pythonImportsCheck = [ "fastchat" ]; 89 90 # tests require networking 91 doCheck = false; 92 93 meta = with lib; { 94 description = "Open platform for training, serving, and evaluating large language models. Release repo for Vicuna and Chatbot Arena"; 95 homepage = "https://github.com/lm-sys/FastChat"; 96 license = licenses.asl20; 97 maintainers = with maintainers; [ happysalada ]; 98 }; 99}