Local Places 用于通过运行在本地的 Google Places API 代理搜索附近场所,如餐厅、咖啡馆等。
用途:以两步流程完成场所查找——先解析位置,再按条件搜索;也支持按 place_id 获取详情。
主要能力:
- 位置解析:POST /locations/resolve,输入 location_text 与 limit。
- 场所搜索:POST /places/search,支持 query、location_bias(lat、lng、radius_m)、filters(types、price_levels、min_rating、open_now)和 limit。
- 详情查询:GET /places/{place_id}。
- 健康检查:GET /ping。
使用方式(命令保持原样): cd {baseDir} echo "GOOGLE_PLACES_API_KEY=your-key" > .env uv venv && uv pip install -e ".[dev]" uv run --env-file .env uvicorn local_places.main:app --host 127.0.0.1 --port 8000
随后可用 curl 调用接口,例如检查服务:curl http://127.0.0.1:8000/ping;解析位置与搜索示例如资料所示。搜索响应包含 results 数组(place_id、name、address、location、rating、price_level、types、open_now)与 next_page_token,可将 next_page_token 作为下次请求的 page_token 获取更多结果。
交互流程建议:用户说“near me”或位置模糊时先解析位置;出现多个结果时列出编号让用户选择;询问类型、是否营业、评分、价位偏好;用选定位置的 location_bias 搜索;展示名称、评分、地址、营业状态;提供获取详情或细化搜索选项。
限制:filters.types 只能指定一个类型;price_levels 为 0-4 整数;min_rating 为 0-5、步进 0.5;open_now 为布尔值;limit 搜索为 1-20、解析为 1-10;location_bias.radius_m 必须大于 0;需要 GOOGLE_PLACES_API_KEY(.env 或环境变量)。其余安装与运行环境细节暂未提供。