Skip to main content
Glama
Vanity-1

ecommerce-retail-rag-mcp

by Vanity-1

{"type": "text"}# E-commerce Retail RAG + MCP система поддержки клиентов

Python 3.10+ RAG MCP ADK LLM Blog

Система поддержки клиентов на основе мультиисточниковой генерации с дополненной выдачей (RAG) для сценариев электронной коммерции/розничной торговли. Оркестрация агентов на базе Google ADK, поиск по каталогу товаров и политике возврата/доставки, а после ранжирования с помощью многоисточникового слияния RRF (Reciprocal Rank Fusion) LLM генерирует надежные ответы на основе контекста с указанием источников, исключая галлюцинации.

✨ Ключевые возможности

Возможность

Описание

Статус

Мультиисточниковый RAG-поиск

Двухисточниковый поиск: каталог товаров + политика послепродажного обслуживания, однократное эмбеддинг, мультиисточниковое извлечение

✅ Готово

RRF-ранжирование

Решает проблему «поглощения слабого источника сильным» при несбалансированном объёме данных

✅ Проверено экспериментально

Сквозное демо

Веб-интерфейс: вопрос пользователя → мультиисточниковый поиск → ответ с цитатами

✅ Работает на месте

MCP-обёртка инструментов

Инструменты product_search / policy_qa и др., доступные через MCP

✅ Реализовано

Защита согласованности эмбеддингов

Единый nomic-embed-text (768 измерений), тестовое покрытие

✅ Встроено

Related MCP server: ecommerce-catalog-agent

📊 Результаты доработки (можно сразу в резюме)

Сравнительный эксперимент RRF-слияния — на одинаковых 12 запросах сравнивается качество извлечения при «RRF-слиянии» и «прямой конкатенации»:

Метрика

Прямая конкатенация

RRF-слияние

Top-3 попадание по политическим запросам

9/12

12/12

Ранг высокорелевантных документов слабого источника (политика)

Поглощены каталогом товаров

Поднят до 2-го места

Вывод: когда объём каталога товаров (сильный источник) значительно превышает политику (слабый источник), прямая конкатенация полностью поглощает документы политики; после RRF-слияния релевантные документы заметно поднимаются. Полный анализ см. в docs/RRF对比实验报告.html.

Записи о граблях (плюс на собеседовании) → docs/RAG二开踩坑记录.html

🚀 Быстрый старт — запуск демо на месте

Нужен только локальный Ollama, облачный API-ключ не требуется. Запуск за 5 минут.

# 1. 启动 Ollama 并拉取所需模型(首次)
ollama serve &
ollama pull nomic-embed-text      # 嵌入模型(768维)
ollama pull qwen2.5:3b            # 生成模型

# 2. 安装 Python 依赖
pip install -r requirements.txt

# 3.(可选)如预计算嵌入缓存缺失则重建向量库
python scripts/_precompute_embeddings.py

# 4. 启动端到端 Web Demo
python scripts/demo_web.py
# 浏览器打开 http://127.0.0.1:8080

Попробуйте: do you refund damaged produce, free delivery over 35 dollars.

Поиск в демо зависит от предварительно вычисленного кэша эмбеддингов embedding_index.json + embeddings_cache.npy (сгенерирован Ollama), встроен слой косинусного поиска в памяти, не требуется отдельный запуск ChromaDB, что позволяет избежать проблем с персистентностью на Windows.

🧪 Воспроизведение сравнительного эксперимента

python scripts/compare_rrf_vs_join.py

💻 Технологический стек

  • Оркестрация: Google ADK (FunctionTool + SequentialAgent)

  • Эмбеддинги/генерация: Ollama (nomic-embed-text / qwen2.5:3b), полностью локально

  • Векторный поиск: предварительно вычисленный кэш эмбеддингов + косинусный поиск в памяти на NumPy (адаптер ChromaDB сохранён)

  • Слияние и ранжирование: собственная реализация RRF (agents/tools/rrf_fusion.py)

  • Сервис: FastAPI MCP server (src/mcp_server)

📁 Структура каталога

scripts/
  demo_web.py                  # 端到端 Web Demo(问→检→带出处答)
  compare_rrf_vs_join.py       # RRF vs 直接拼接对比实验
  _precompute_embeddings.py    # 预计算嵌入缓存
  chat_rag_demo.py             # 命令行 RAG Demo
src/
  embeddings/ollama_client.py  # embed_text + generate_answer
  rag/
    inmemory_cache.py          # 内存余弦检索层(二开新增)
    vector_store.py            # ChromaDB 适配层(保留)
agents/
  tools/rrf_fusion.py          # RRF 融合算法(二开新增)
  rag_agent.py                 # ADK RAG Agent
  workflows.py                 # ADK 工作流
docs/
  RRF对比实验报告.html          # 二开:对比实验报告
  RAG二开踩坑记录.html          # 二开:踩坑技术博客
configs/                       # 环境变量模板
tests/                         # 含嵌入一致性守卫测试

✅ Тестирование

pytest tests/            # 单元测试 + 嵌入一致性守卫
bash scripts/checks.sh   # 静态检查

🌱 Дальнейшие направления

  • Подключение дополнительных источников поиска (отзывы, остатки) и реранкеров

  • Добавление конвейера оценки (recall@k / groundedness)

  • RBAC / ограничение частоты запросов для MCP-инструментов

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Policy review and purchase discovery for AI-agent commerce actions.

  • Agent-native product catalog for AI shopping agents. 296M+ products, 28 countries.

  • Search your knowledge bases from any AI assistant using hybrid RAG.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Vanity-1/ecommerce-retail-rag-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server