# 人脸语音鉴权与智能对话系统 **Repository Path**: htwin/ai_auth_chat_system ## Basic Information - **Project Name**: 人脸语音鉴权与智能对话系统 - **Description**: 人脸语音鉴权与智能对话系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-30 - **Last Updated**: 2026-10-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目使用文档 ## 项目介绍 如图所示: 系统分为三个部分: 1. 左侧为人脸和声音鉴权。 - 点击“开始鉴权” ,在倒计时范围内对着摄像头和麦克风说话,倒计时结束,对语音和视频进行认证。 - 点击“录入声纹”,可以录入用户的声音信息并保存到系统。 - 点击“录入人脸”,可以录入用户的人脸信息并保存进系统。 2. 中间是智能语音对话。 - 点击“启动语音助手”,即可对着麦克风说话,说话完毕,系统在背后将语音转成文字,再将文字提交给大语言模型,最后将大语言模型的回答结果以文字形式展示出来,同时系统将大语言模型的回答文本转成语音进行播放。 3. 右侧实时监控识别人脸。 - 实时监控人脸,并识别人物。 ![image-20250506110252420](assets/image-20250506110252420.png) ## 目录结构 - **ai_auth_chat_system/** - **assets/** 存储readme.md的图片资源 - **chat/** 大语言聊天模型相关的API - **config/** - config.yaml 系统配置文件 - **libs/** 相关lib (dlib) - **models/** 模型文件存储位置 - **resource/** 项目资源文件夹 (语音和人脸库数据) - **threads/** 线程类文件夹 语音线程、视频线程 - **ui/** ui组件 - **utils/** 工具 - **app.py/** 项目启动入口 ## 配置文件修改说明 配置文件为:**config/config.yaml** 根据自己设备情况进行修改。 如需要调用本机摄像头,则需要将**IS_NET_CAMERA**改为**False**。 如需求要改声音阈值,则需要修改**VOICE_ENERGY**为合适的值,对于笔记本麦克风可能有许多噪音等,需要修改大一点,比如1200。 ```yaml # 配置文件:config.yaml #----------TTS相关配置------------ TTS_VOICE: "zh-CN-XiaoxiaoNeural" # 小萱 中文女声 MAX_HISTORY: 5 # 最多保留几轮对话 CONFIDENCE_THRESHOLD: 0.6 # 置信度阈值 # 系统提示词 SYSTEM_MESSAGE: "你是一个温和、专业的中文语音助手,名字叫小红。以下是用户的问题,请用中文作答:" # 声音阈值 大于该值说明在说话,不同的设备不一样,像笔记本可能有许多噪声 设置得就需要大一点 VOICE_ENERGY: 400 # 认证时长,单位秒 AUTH_DURATION: 5 # 声纹库配置文件 PROFILE_JSON_PATH: "./resource/voice_profiles/profiles.json" # 声音库目录 AUDIO_FILE_DIR: "./resource/voice_profiles" # 模型存储目录 MODEL_DIR: "./models" # 摄像头信息 CAMERA_IP: '192.168.0.134' USERNAME: 'admin' PASSWORD: '1qaz2wsx!' # 网络摄像头 视频流地址 RTSP_URL: "rtsp://admin:1qaz2wsx!@192.168.0.134:554/LiveMedia/ch1/Media1" # FACE_DATA_DIR: "Z:/dev/ai_auth_system/face_data" # 人脸数据文件夹 FACE_DATA_DIR: "./resource/face_data" # 人脸数据文件夹 # 是否采用网络摄像头 否者使用设备默认的 IS_NET_CAMERA: True DEVICE: 'cpu' # cuda cpu # 临时音频文件名 # "Z:\\dev\\ai_auth_system\\temp.wav" TEMP_AUDIO_FILE: "./resource/voice_profiles/temp.wav" ``` ## 项目运行 运行前提: ​ **需要在本机安装ffmpeg并配置环境变量** ​ **ffmpeg下载地址:https://ffmpeg.org/download.html** 1. 创建conda环境(python 3.10) ``` conda create -n ai_auth_chat_system python=3.10 ``` 2. 激活conda环境 ``` conda activate ai_auth_chat_system ``` 3. 安装项目依赖 ``` pip install -r requirements.txt ``` 4. 项目启动 ``` python app.py ``` ## 其他情况 **如果安装resemblyzer依赖报错,则需要安装c++环境(经过在笔记本上测试无此问题):** resemblyzer安装需要c++环境下载生成工具,链接:https://visualstudio.microsoft.com/visual-cpp-build-tools/ 然后勾选: 1. windows 10 SDK 2. MSVC v143 - VS 2022 C++ x64/x86