Files
2025-06-10 09:21:08 +08:00

232 lines
5.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LLM
AX630C AI large model local voice assistant program. Provided by M5STACK STACKFLOW for basic communication architecture, coordinating multiple working units to work together.
- llm-audio: Audio unit, providing system audio support.
- llm-kws: Keyword detection unit, providing keyword wakeup service.
- llm-asr: Speech-to-text unit, providing speech-to-text service.
- llm-llm: Large model unit, providing AI large model inference service.
- llm-melotts: NPU-accelerated TTS unit, providing text-to-speech and playback service.
- llm-tts: CPU-computed TTS unit, providing text-to-speech and playback service.
## compile
```bash
wget https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/linux/llm/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz
sudo tar zxvf gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz -C /opt
sudo apt install python3 python3-pip libffi-dev
pip3 install parse scons requests kconfiglib
git clone https://github.com/m5stack/StackFlow.git
cd StackFlow
git submodule update --init
cd projects/llm_framework
scons distclean
scons -j22
```
## assistant mode
llm-sys llm-audio llm-kws llm-asr llm-llm llm-melotts Collaborative work.
Chinese environment:
1、reset
send :
```json
{
"request_id": "11212155",
"work_id": "sys",
"action": "reset"
}
```
waiting reset over!
2、init all unit
send :
```json
{
"request_id": "1",
"work_id": "kws",
"action": "setup",
"object": "kws.setup",
"data": {
"model": "sherpa-onnx-kws-zipformer-wenetspeech-3.3M-2024-01-01","response_format": "kws.bool",
"input": "sys.pcm",
"enoutput": true,
"kws": "你好你好"
}
}
{
"request_id": "2",
"work_id": "asr",
"action": "setup",
"object": "asr.setup",
"data": {
"model": "sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23",
"response_format": "asr.utf-8.stream",
"input": "sys.pcm",
"enoutput": true,
"enkws":true,
"rule1":2.4,
"rule2":1.2,
"rule3":30.1
}
}
{
"request_id": "3",
"work_id": "llm",
"action": "setup","object": "llm.setup",
"data": {
"model": "qwen2.5-0.5B-prefill-20e",
"response_format": "llm.utf-8.stream",
"input": "llm.utf-8",
"enoutput": true,
"max_token_len": 256,
"prompt": "You are a knowledgeable assistant capable of answering various questions and providing information."
}
}
{
"request_id": "4",
"work_id": "melotts",
"action": "setup",
"object": "melotts.setup",
"data": {
"model": "melotts-zh-cn",
"response_format": "sys.pcm",
"input": "tts.utf-8",
"enoutput": false
}
}
```
waiting return work_id:
```json
{"created":1731488371,"data":"None","error":{"code":0,"message":""},"object":"None","request_id":"3","work_id":"asr.1001"}
{"created":1731488377,"data":"None","error":{"code":0,"message":""},"object":"None","request_id":"4","work_id":"llm.1002"}
{"created":1731488392,"data":"None","error":{"code":0,"message":""},"object":"None","request_id":"4","work_id":"melotts.1003"}
{"created":1731488402,"data":"None","error":{"code":0,"message":""},"object":"None","request_id":"2","work_id":"kws.1000"}
```
creat assembly line
```json
{
"request_id": "2",
"work_id": "asr.1001",
"action": "link",
"object":"work_id",
"data":"kws.1000"
}
{
"request_id": "3",
"work_id": "llm.1002",
"action": "link",
"object":"work_id",
"data":"asr.1001"
}
{
"request_id": "4",
"work_id": "melotts.1003",
"action": "link",
"object":"work_id",
"data":"llm.1002"
}
{
"request_id": "3",
"work_id": "llm.1002",
"action": "link",
"object":"work_id",
"data":"kws.1000"
}
{
"request_id": "4",
"work_id": "melotts.1003",
"action": "link",
"object":"work_id",
"data":"kws.1000"
}
```
waiting return status:
```json
{"created":1731488403,"data":"None","error":{"code":0,"message":""},"object":"None","request_id":"3","work_id":"llm.1002"}
{"created":1731488403,"data":"None","error":{"code":0,"message":""},"object":"None","request_id":"4","work_id":"melotts.1003"}
{"created":1731488403,"data":"None","error":{"code":0,"message":""},"object":"None","request_id":"2","work_id":"asr.1001"}
{"created":1731488403,"data":"None","error":{"code":0,"message":""},"object":"None","request_id":"4","work_id":"melotts.1003"}
{"created":1731488403,"data":"None","error":{"code":0,"message":""},"object":"None","request_id":"3","work_id":"llm.1002"}
```
**Please enjoy the large model voice assistant.**
## cv mode
1、reset
send :
```json
{
"request_id": "11212155",
"work_id": "sys",
"action": "reset"
}
```
waiting reset over!
2、init camera unit
send :
```json
{
"request_id":"4",
"work_id":"camera",
"action":"setup",
"object":"camera.setup",
"data":{
"response_format":"camera.raw",
"input":"/dev/video0",
"enoutput":false,
"frame_width":320,
"frame_height":320
}
}
```
waiting return work_id:
```json
{"created":1731488371,"data":"None","error":{"code":0,"message":""},"object":"None","request_id":"4","work_id":"camera.1000"}
```
2、init yolo unit
send :
```json
{
"request_id":"5",
"work_id":"yolo",
"action":"setup",
"object":"yolo.setup",
"data":{
"model":"yolo11n",
"response_format":"yolo.yolobox",
"input":"camera.1000",
"enoutput":true
}
}
```
waiting return work_id:
```json
{"created":1731488371,"data":"None","error":{"code":0,"message":""},"object":"None","request_id":"5","work_id":"yolo.1001"}
```