mirror of
https://github.com/modelscope/FunASR
synced 2025-09-15 14:48:36 +08:00
| .. | ||
| CMakeLists.txt | ||
| common.cmake | ||
| paraformer-server.cc | ||
| paraformer-server.h | ||
| Readme.md | ||
| rebuild.sh | ||
Service with grpc-cpp
For the Server
Build onnxruntime as it's document
Compile and install grpc v1.52.0 in case of grpc bugs
export GRPC_INSTALL_DIR=/data/soft/grpc
export PKG_CONFIG_PATH=$GRPC_INSTALL_DIR/lib/pkgconfig
git clone -b v1.52.0 --depth=1 https://github.com/grpc/grpc.git
cd grpc
git submodule update --init --recursive
mkdir -p cmake/build
pushd cmake/build
cmake -DgRPC_INSTALL=ON \
-DgRPC_BUILD_TESTS=OFF \
-DCMAKE_INSTALL_PREFIX=$GRPC_INSTALL_DIR \
../..
make
make install
popd
echo "export GRPC_INSTALL_DIR=/data/soft/grpc" >> ~/.bashrc
echo "export PKG_CONFIG_PATH=\$GRPC_INSTALL_DIR/lib/pkgconfig" >> ~/.bashrc
echo "export PATH=\$GRPC_INSTALL_DIR/bin/:\$PKG_CONFIG_PATH:\$PATH" >> ~/.bashrc
source ~/.bashrc
Compile and start grpc onnx paraformer server
# set -DONNXRUNTIME_DIR=/path/to/asrmodel/onnxruntime-linux-x64-1.14.0
./rebuild.sh
Start grpc paraformer server
./cmake/build/paraformer-server --port-id <string> [--punc-config
<string>] [--punc-model <string>]
--am-config <string> --am-cmvn <string>
--am-model <string> [--vad-config
<string>] [--vad-cmvn <string>]
[--vad-model <string>] [--] [--version]
[-h]
Where:
--port-id <string>
(required) port id
--am-config <string>
(required) am config path
--am-cmvn <string>
(required) am cmvn path
--am-model <string>
(required) am model path
--punc-config <string>
punc config path
--punc-model <string>
punc model path
--vad-config <string>
vad config path
--vad-cmvn <string>
vad cmvn path
--vad-model <string>
vad model path
Required: --port-id <string> --am-config <string> --am-cmvn <string> --am-model <string>
If use vad, please add: [--vad-config <string>] [--vad-cmvn <string>] [--vad-model <string>]
If use punc, please add: [--punc-config <string>] [--punc-model <string>]
For the client
Install the requirements as in grpc-python
git clone https://github.com/alibaba/FunASR.git && cd FunASR
cd funasr/runtime/python/grpc
pip install -r requirements_client.txt
Generate protobuf file
Run on server, the two generated pb files are both used for server and client
# paraformer_pb2.py and paraformer_pb2_grpc.py are already generated,
# regenerate it only when you make changes to ./proto/paraformer.proto file.
python -m grpc_tools.protoc --proto_path=./proto -I ./proto --python_out=. --grpc_python_out=./ ./proto/paraformer.proto
Start grpc client
# Start client.
python grpc_main_client_mic.py --host 127.0.0.1 --port 10095
Acknowledge
- This project is maintained by FunASR community.
- We acknowledge DeepScience for contributing the grpc service.