Token导航 LogoToken导航TokenDH.com
Agentic Voice Assistant logo
搜索检索stdio官方级别未说明来源级核验

Agentic Voice Assistant

MCP Server

一个基于语音输入的多模态产品搜索助手,利用LangGraph进行多步骤代理编排,结合RAG和网络搜索功能,通过语音输入和输出提供产品搜索服务。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
语音识别Python搜索

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

XuYunlei

提供方

XuYunlei

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

代理语音产品发现助手

端到端演示:语音输入→ 基于LangGraph的代理规划→ RAG通过MCP超越亚马逊2020切片→ 可选的实时网络比较→ 有根据的、引用的答案→ TTS播放。

第一阶段——完整管道

语音转语音·RAG+Web混合·MCP驱动的代理

______________________________________________________________________

🚀 概述

该项目实现了 代理多模式产品搜索助手 使用:

  • LangGraph 用于多步骤代理编排
  • 拥抱亚马逊2020数据集 (15列-无评分,无评论)
  • ChromaDB 向量索引
  • MCP服务器 公开RAG+网络搜索工具
  • 勇敢搜索API
  • Whisper ASR 演讲
  • OpenAI TTS 最后的口头回答
  • 流线型UI 用于语音对语音演示

系统接受用户的语音输入→ 转换为文本→ 解读意图→ 通过RAG和/或网络搜索获取产品→ 返回答案→ 回答。

第一阶段已100%实施并开始工作。

______________________________________________________________________

📁 项目结构

agentic-voice-assistant/
│
├── app/
│   ├── ui_streamlit.py               # Main Streamlit voice UI
│   ├── audio_utils.py                # (optional placeholder)
│   └── components.py                 # (optional placeholder)
│
├── configs/
│   └── env.example
│
├── data/
│   ├── processed/products.csv        # HF Amazon 2020 dataset (15 cols)
│   └── index/                        # Chroma DB (auto-created)
│
├── graph/
│   ├── langgraph_pipeline.py
│   ├── schemas.py
│   └── nodes/
│       ├── router.py
│       ├── planner.py
│       ├── retriever.py
│       ├── answerer.py
│       └── critic.py
│
├── indexing/
│   └── build_index.py                # Build HF→Chroma vector index
│
├── mcp_server/
│   ├── server.py                     # FastAPI MCP server
│   └── tools/
│       ├── rag_tool.py
│       └── web_tool.py
│
├── prompts/
│   ├── system_router.md
│   ├── system_planner.md
│   ├── system_answerer.md
│   └── tool_call_instructions.md     # (empty for Phase 1)
│
├── scripts/
│   ├── build_index.sh
│   ├── run_mcp.sh
│   └── run_ui.sh
│
└── tts_asr/
    ├── asr_whisper.py
    └── tts_client.py

______________________________________________________________________

🔧 安装和设置

1.️⃣ 创造环境

conda create -n GenAI python=3.10 -y
conda activate GenAI
pip install -r requirements.txt

______________________________________________________________________

2.️⃣ 添加环境变量

创建 .env 使用 configs/env.example 作为参考:

OPENAI_API_KEY=
BRAVE_API_KEY=
SEARCH_PROVIDER=brave

EMBED_MODEL=all-MiniLM-L6-v2
GEN_MODEL=openai/gpt-4o-mini

ASR_MODEL=small
TTS_PROVIDER=openai
TTS_VOICE=alloy

INDEX_PATH=./data/index
DATA_PRODUCTS=./data/processed/products.csv

MCP_BASE=http://127.0.0.1:8000

______________________________________________________________________

📦 第1阶段组件

1.️⃣ HF数据集→ 色度指数

indexing/build_index.py:

  • 重命名HF字段:

Uniq Id → id, Product Name → title, Selling Price → price等等。

  • 清洁价格($ 移除→ 浮动)
  • 提取物 price_per_oz 如有可能
  • 确保 所有元数据都是Chroma安全的
  • 将文档添加到集合 amazon2020

构建索引:

bash scripts/build_index.sh

______________________________________________________________________

2.️⃣ MCP服务器(工具)

启动MCP:

bash scripts/run_mcp.sh

暴露的工具:

/rag.search

  • 语义搜索(句子转换器)
  • 可选价格过滤器(lte / gte)
  • 输出字段:

- doc_id - title - price - brand (占位符) - sku

/web.search

  • 勇敢的网络API
  • 退货:

- title - url - snippet - profile

测试:

curl -X POST http://127.0.0.1:8000/rag.search \
  -H "Content-Type: application/json" \
  -d '{"query":"stainless steel cleaner"}'

______________________________________________________________________

3.️⃣ 代理工作流(LangGraph)

工作流程: router → planner → retriever → answerer → critic

路由器

  • 对意图进行分类
  • 决定:

- 仅限RAG - 仅限web - 两者

  • 提取过滤器(品牌、价格)

规划器

  • 确保过滤器与HF匹配(仅限价格)
  • 决定工具列表

检索器

  • 调用MCP端点
  • 存储RAG/Web证据

回答者

  • HF数据集包含 没有评级、成分、评论
  • 所以answerer使用:

- title - price - brand (空)

  • 排序方式 售价仅
  • 生成引用

批评家

  • 第2阶段增强功能的占位符

______________________________________________________________________

4.️⃣ 语音用户界面(流媒体)

运行UI:

bash scripts/run_ui.sh

特征:

  • 录音
  • Whisper ASR
  • 多智能体推理
  • 产品结果表
  • 引用
  • OpenAI TTS播放

打开浏览器:

http://localhost:8501

______________________________________________________________________

🔥 下一页:第二阶段增强功能

接下来:

  • 工具标准化层
  • 冲突解决引擎
  • Web–RAG合并逻辑
  • 更好的产品排名
  • 从web提取元数据
  • 每盎司价格排名逻辑
  • 安全+化学限制
  • 对链完整性的批评重写
  • LLM回退丢失的数据
  • 最终答案评分系统

目录标签

目录标签

语音识别Python搜索本地部署产品搜索多模态代理编排RAG

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP