yheye43/Eval-Qwen3-30B-A3B-GPTQ-Int4
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
概要
Huggingface 上にアップロードされてるモデルをロードし、それを API を通して使えるようにする。 API 部分は FastAPI+uvicorn を用いて作成した。jglue の評価スクリプトをそのまま使えるように openapi 互換になるようにした。
対応してるフォーマット
今の所、Huggingface 上で公開されてる Safetensors のみに対応。 環境変数を設定することで、モデルとロード時に量子化するフォーマット(INT4/INT8)を切り替えられる。 環境変数は README.md からでも Dockerfile からでも変更できるが、Huggingface space は README.md で設定されてるものを優先する。
Qwen の Thinking Mode について
Qwen3 系のモデルは以下の方法で Thinking Mode のオンオフが切り替えられる。 ・サーバー側で、プロンプトをトークン化する際に enable_thinking を True/False に設定する ・プロンプトの最後に /nothink /think のいずれかを付け足す
デフォルトでは Thinking Mode が ON になっているが、ON になると JSON 1行だけのレスポンスを指定しても、思考過程を出力した<think>ブロックも勝手に追加されてしまい、少し不便な上、レスポンスが返ってくるのがとても遅くなる(オフだと 1 秒くらい、オンだと 10 秒くらい)。JSTS 以外のテストではそこまでスコアに影響与えなそうなので Thinking Mode をオフにするのを推奨。
https://huggingface.co/Qwen/Qwen3-30B-A3B
ローカルでのテスト方法(軽量のモデルに変更するのを推奨)
python のライブラリをインストールする
docker build -t my-llm-api .
docker run -p 8000:8000 --rm --name llm-api-test my-llm-api