库与框架¶
本章介绍 CI13XX_SDK_LLM_AIoT(离在线大模型对话 SDK)的软件框架组成,包括 SDK 顶层目录结构、用户代码区域、预编译算法库与开发工具链,帮助开发者快速建立对整个 SDK 的全局认识。
注释
- 本章内容基于 CI13XX_SDK_LLM_AIoT_V2.1.2,目录名称与实际 SDK 包内的
CI13XX_SDK_LLM_AIOT_2.1.2保持一致; - 若您使用的 SDK 版本不同,请以实际包内结构与源码为准。
章节内容¶
- SDK软件结构 —— SDK 软件结构图、SDK 目录结构、用户代码说明、添加代码示例与代码逻辑分析
SDK 顶层目录组成¶
SDK 包根目录(CI13XX_SDK_LLM_AIOT_2.1.2)由以下内容组成:
| 目录/文件 | 描述 |
|---|---|
| .vscode | 编译器配置文件(指定 ci-tool.activated_project 等) |
| components | 功能组件:语音识别、前处理算法、协议、播放器、TTS、蓝牙等 |
| driver | 驱动:boards(板级)、ci130x_chip_driver(芯片内部驱动)、third_device_driver(外部器件驱动) |
| external | 扩展参考:firmware参考(红外、TTS、多意图、asr/tts动态切换)与 model(DOA、深度降噪、SED、TTS、声纹等算法模型) |
| libs | 预编译算法库(.a),并附 linux 子目录供 Linux 工具链使用 |
| projects | 应用示例工程(hpout / iis / uart 三种离在线大模型对话模板工程) |
| startup | 启动代码(ci130x_init.c、ci130x_startup.S、ci130x_vtable.S) |
| system | 系统与平台配置(sdk_default_config.h、platform_config.c、FreeRTOSConfig.h 等) |
| tools | 固件构建与升级工具(PACK_UPDATE_TOOL.exe、code_program.exe、build-tools、ci-tool-1.1.2.vsix、lame 等) |
| utils | 构建脚本与调试辅助(common_*.mk、common.lds、firmware_pack.sh、generate_makefile.lua、crc/dichotomy_find 等) |
| 对接协议 | 离在线应用对接说明文档(启英泰伦离在线应用对接说明-V2.4.pdf) |
注意
工程编译时通过 utils/common_head.mk 中的 LIBS_PATH 变量选择库目录:Windows/GCC 环境使用 libs,Linux 环境使用 libs/linux。
预编译算法库(libs)¶
SDK 随包提供以下预编译算法库,具体链接哪些库由工程 project_file/makefile 中的算法配置(CI_ALG_TYPE 等宏)自动选择,用户无需手动指定:
| 分类 | 库文件 | 说明 |
|---|---|---|
| 语音识别 | libasr.a、libasr_v2.a | ASR 语音识别核心库 |
| libasr_dis_deepse_v2.a、libasr_use_deepse_v2.a、libasr_bnpu_dis_deepse_v2.a、libasr_bnpu_use_deepse_v2.a | 深度分离(deepse)关闭/开启两种版本,分别提供 CPU 与 BNPU 形态 | |
| 关键词检测 | libcikd_pro_dis_frm.a、libcikd_pro_use_frm.a、libcikd_pro_cwsl_dis_frm.a、libcikd_pro_cwsl_use_frm.a | 关键词检测(CIKD Pro)算法库,带 cwsl 的版本支持自学习 |
| 自学习 | libcwsl.a、libcwsl_v2.a | 离线命令词自学习算法库 |
| BNPU 算法组合 | libbnpu_core_alg_pro_*.a | 按算法组合提供的 BNPU 核心算法库(如 AEC+NN降噪、DOA+AEC+NN降噪、自学习+AEC+NN降噪、任意MIC+AEC+NN降噪) |
| 前处理算法 | libaec.a、libbf.a、libalc_auto_switch.a、libdr.a | 回声消除(AEC)、波束成形(BF)、自动电平控制(ALC)、去混响(Dereverb) |
| 音频编解码 | libopus.a、libspeex.a、libaac.a | OPUS / SPEEX / AAC 音频编解码 |
| 语音合成 | libtts.a | TTS 语音合成 |
| 自然语言处理 | libnlp.a | NLP(多意图)处理 |
| 系统与移植 | libdsu.a、libfreertos_port.a、libnewlib_port.a | DSU 单元、FreeRTOS 移植层、newlib 移植层 |
| 安全 | libflash_encrypt.a | FLASH 加密 |