AI+旅游应用教程:从零搭建一个行程推荐小工具

想做一个 AI+旅游应用,最现实的起点不是直接开发完整 App,而是先跑通一个“输入目的地和天数,输出每日行程建议”的最小可用版本。
下面按零基础也能照做的节奏,用 Python + Flask 搭一个本地可运行的行程推荐小工具,重点讲清楚准备条件、接口调用、页面展示和常见报错处理。

先确认你要做的形态和运行条件

这个教程适合两类人:想快速验证旅游 AI 想法的人,以及需要给现有网站加一个行程推荐入口的站长。
我们不做复杂的地图轨迹和实时比价,只聚焦“行程文本生成 + 简单页面展示”这条最短路径。

运行环境建议:

  • 一台能联网的电脑或云服务器,Linux 或 Windows 均可;
  • Python 3.8 及以上版本;
  • 一个可调用的大模型 API Key,具体申请方式以你选用的服务商控制台为准;
  • 本地能打开终端或命令行。

先检查 Python 是否可用:

python3 --version

如果提示命令不存在,Windows 可以安装 Python 时勾选 Add to PATH,Linux 用包管理器安装 python3 和 python3-pip。

创建项目并安装依赖

新建目录并进入:

mkdir ai-travel-demo && cd ai-travel-demo

创建虚拟环境,避免污染系统 Python:

python3 -m venv venv
source venv/bin/activate

Windows 下激活命令为 venv\Scripts\activate。

安装 Flask 和 requests:

pip install flask requests

预期结果是终端没有红色报错,pip list 能看到 Flask 和 requests。
如果下载慢,可以临时指定国内镜像源,但不要写死到项目配置里。

写行程生成接口和页面

在项目目录下新建 app.py,核心逻辑分三块:接收表单参数、调用大模型接口、把结果渲染回页面。
下面是可运行的骨架,接口地址和模型名需要按你实际使用的服务商文档替换:

import os
import requests
from flask import Flask, request, render_template_string

app = Flask(__name__)

API_URL = os.environ.get("AI_API_URL", "")  # 替换为服务商提供的对话接口地址
API_KEY = os.environ.get("AI_API_KEY", "")

PAGE = """
目的地: 天数:
{% if result %}
{{ result }}
{% endif %} {% if error %}

{{ error }}

{% endif %} """ @app.route("/", methods=["GET", "POST"]) def index(): if request.method == "GET": return render_template_string(PAGE) city = request.form.get("city", "").strip() days = request.form.get("days", "3") if not city: return render_template_string(PAGE, error="请填写目的地") prompt = f"请为{city}设计{days}天行程,每天列出上午、下午、晚上安排,语言简洁。" try: resp = requests.post( API_URL, headers={"Authorization": f"Bearer {API_KEY}"}, json={"model": "你的模型名", "messages": [{"role": "user", "content": prompt}]}, timeout=30, ) resp.raise_for_status() data = resp.json() content = data["choices"][0]["message"]["content"] return render_template_string(PAGE, result=content) except Exception as e: return render_template_string(PAGE, error=f"生成失败:{e}") if __name__ == "__main__": app.run(host="0.0.0.0", port=5000)

保存后先设置环境变量再启动,不要把 Key 直接写进代码:

export AI_API_URL="你的接口地址"
export AI_API_KEY="你的Key"
python app.py

浏览器访问 http://127.0.0.1:5000,填入目的地和天数,能看到行程文本就说明主流程通了。

最容易踩的几个坑

接口返回 401 或 403:优先检查 Key 是否完整复制、请求头是否带 Bearer 前缀、账号是否有该模型权限。
不要反复重试,先看返回体里的错误信息。

返回 404:多数是接口地址写错,注意区分对话接口和模型列表接口,路径以服务商文档为准。

请求超时:行程生成本身耗时较长,timeout=30 不够时可以适当调大,但不要无限等待;
同时确认服务器出网正常,可用 curl -I https://你的接口域名 做基础连通性检查。

页面中文乱码:确认 HTML 模板里包含 UTF-8 声明,Flask 默认返回 JSON 时一般不会乱码,乱码多出现在手动拼接响应时。

Key 泄露:不要把 Key 提交到 Git 仓库,用环境变量或 .env 文件管理,并在 .gitignore 中排除。

验证结果并继续扩展

验证分三步:先看页面是否能正常提交表单,再看返回内容是否包含目的地和天数对应的行程结构,最后故意填一个空目的地,确认错误提示能正常显示而不是白屏。

本地跑通后,如果部署到云服务器,注意放行 5000 端口或改用 Nginx 反向代理,生产环境不要直接用 Flask 自带服务器对外提供服务。
后续可以加缓存、把生成结果存数据库、增加多城市对比,但建议先把这条最小链路稳定跑通再扩展。
遇到异常时,优先回看接口返回体和终端日志,比反复改代码更有效。

分享到:
上一篇
AI外卖运营配置实操:从零搭建智能接单与出餐流程
下一篇
AI行程规划配置:从零搭建可用的行程生成服务
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意