Files
WoMenQuNaJu/MeetSpot/project_summary_zh.md
2026-02-04 16:11:55 +08:00

2.7 KiB
Raw Blame History

MeetSpot 项目分析报告

项目概览

MeetSpot 是一个 AI 驱动的智能代理Agent旨在解决多人会面的地点选择问题。与寻找"我附近"的传统地图不同MeetSpot 基于所有参与者的位置计算"公平中心点",并推荐能最小化总行程时间且满足特定需求(如安静、商务、停车方便)的最佳场所。

核心特性

  • 公平会面点计算: 使用球面几何Haversine公式和智能算法计算几何中心确保对所有参与者公平。
  • AI Agent 模式: 基于 ReAct 模式的智能代理 (MeetSpotAgent),能够处理复杂请求,通过多步推理和工具调用(搜索、计算、评分)生成个性化推荐。
  • 双模式智能处理:
    • 规则模式 (0.3-0.8s): 针对简单查询,快速响应。
    • Agent 模式 (3-8s): 针对复杂查询(多地点、多需求),启用 LLM 深度推理。
  • 智能评分系统: 结合规则评分(距离、评分、热度)与 LLM 语义评分(与"安静"、"商务"等需求的匹配度)。
  • 丰富的场所信息: 基于品牌特征知识库提供详细的场所属性WiFi、停车、环境特色等

技术架构

后端 (Backend)

  • 框架: FastAPI (Python 3.11+)
  • 入口: web_server.py (本地开发), api/index.py (生产环境/Vercel)
  • 核心逻辑:
    • app/tool/meetspot_recommender.py: 推荐引擎核心负责地理编码、中心点计算、POI 搜索和排序。
    • app/agent/: AI Agent 实现模块。
      • meetspot_agent.py: 代理核心逻辑 (Think-Act 循环)。
      • tools.py: 工具集封装 (Geocode, CalculateCenter, SearchPOI, GenerateRecommendation)。
  • LLM 集成: app/llm.py 封装了 OpenAI 兼容接口,支持 GPT-4, DeepSeek 等模型。

前端 (Frontend)

  • 技术栈: 原生 HTML5, CSS3, JavaScript (Vanilla JS)。
  • 模板: 使用 Jinja2 (templates/ 目录)。
  • 地图集成: 高德地图 (AMap) JS API。

配置 (Configuration)

  • 管理: app/config.py 统一管理配置。
  • 关键配置: AMAP_API_KEY (高德地图), LLM_API_KEY (AI 模型)。

工作流程 (Agent 模式)

  1. 理解任务: Agent 接收用户输入(地点列表、关键词、特殊需求)。
  2. 地理编码 (Geocode): 将文本地址转换为经纬度坐标。
  3. 计算中心 (Center Calc): 计算所有坐标的最佳几何中心。
  4. POI 搜索: 在中心点附近搜索符合关键词的场所。
  5. 生成推荐: 结合硬性规则和 LLM 语义理解对场所进行排序,并生成推荐语。

部署支持

  • 支持 Vercel, Render, Railway 等平台部署。
  • 生产环境通过环境变量管理敏感信息。