本地Ollama对接外贸独立站AI选品接口实战教程
为什么需要本地Ollama对接选品接口
外贸独立站选品时,需要结合市场趋势、评论情感、价格区间等大量数据做决策。
直接在第三方AI接口上做分析,长期使用费用可观。
用本地Ollama部署开源大语言模型,再自己写一层接口,就能让独立站系统调用本地AI进行选品分析,不仅数据安全,而且零API调用成本。
本文面向零基础用户,手把手带你完成从环境搭建到接口对接的全过程,让独立站能通过简单请求获得选品建议。
准备工作
安装Ollama
- 进入Ollama官网下载对应操作系统版本(Windows/macOS/Linux)。
- 安装完成后,打开终端(命令行),运行以下命令验证:
ollama --version
如果输出版本号(例如 0.1.32),说明安装成功。
下载适合选品分析的模型
选品场景偏向推理和文本分析,推荐使用 llama3 或 qwen2.5 这类综合能力较强的模型。
以 llama3:8b 为例:
ollama pull llama3:8b
下载完成后,可以运行一句测试:
ollama run llama3:8b "请分析当前亚马逊热销电子产品趋势"
如果模型能正常输出中文内容,说明准备就绪。
编写本地AI选品接口
Ollama 默认在本机 11434 端口提供 REST API,但外贸独立站通常需要更定制化的输入输出格式。
我们用 Python + Flask 写一个简单的转换接口。
1. 安装Python与依赖
确保本机已安装Python 3.8+,然后安装Flask和requests:
pip install flask requests
2. 创建接口脚本
新建文件 ai_selection_api.py,写入以下代码(注意替换模型名称):
from flask import Flask, request, jsonify
import requests
import json
app = Flask(__name__)
OLLAMA_URL = "http://localhost:11434/api/generate"
MODEL_NAME = "llama3:8b"
@app.route('/analyze', methods=['POST'])
def analyze():
data = request.get_json()
# 从请求中提取商品信息,例如 title, description, price
product_info = data.get("product", "")
# 构造给模型的提示词
prompt = f"以下是某个商品的标题和描述:{product_info}。请分析该商品是否适合作为选品对象,并给出理由。"
payload = {
"model": MODEL_NAME,
"prompt": prompt,
"stream": False
}
try:
resp = requests.post(OLLAMA_URL, json=payload, timeout=60)
resp.raise_for_status()
result = resp.json().get("response", "分析失败")
return jsonify({"status": "ok", "analysis": result})
except Exception as e:
return jsonify({"status": "error", "message": str(e)}), 500
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
3. 启动接口服务
在终端执行:
python ai_selection_api.py
如果显示 Running on http://0.0.0.0:5000 说明接口启动成功。
外贸独立站如何对接
无论你的独立站是用 WordPress、Shopify 还是自建系统,只需按以下方式发送 POST 请求即可。
测试接口(推荐先用cURL)
打开另一个终端,发送测试请求:
curl -X POST http://你的服务器IP:5000/analyze -H "Content-Type: application/json" -d '{"product":"智能手表,IP68防水,续航14天,支持心率监测"}'
如果返回类似以下内容,说明对接成功:
{"status":"ok","analysis":"该商品具有明确的卖点(防水、长续航、心率监测),符合健康穿戴趋势,适合作为选品。建议关注价格竞争力。"}
在WordPress中调用(PHP示例)
在主题的 functions.php 或自定义插件中添加:
function get_ai_selection_analysis($product_info) {
$url = 'http://你的服务器IP:5000/analyze';
$args = array(
'body' => json_encode(array('product' => $product_info)),
'headers' => array('Content-Type' => 'application/json'),
'timeout' => 60
);
$response = wp_remote_post($url, $args);
if (is_wp_error($response)) return '请求失败';
$body = wp_remote_retrieve_body($response);
return json_decode($body, true);
}
在Shopify中使用(Liquid + 外部脚本)
需要在Shopify后台添加自定义应用或使用Checkout自带的Webhook功能,将商品数据发给本地接口。
由于Shopify限制,推荐使用第三方工具(如Zapier)转发请求,或购买支持自定义应用的套餐。
避坑说明
- Ollama模型未加载:如果请求超时,检查终端是否运行了
ollama serve(通常安装后自动运行)。可用ollama list查看已下载模型。 - 端口被占用:如果
5000端口冲突,在app.run中修改为其他端口,并在独立站端同步修改URL。 - 防火墙阻止:如果独立站与Ollama不在同一台机器,需要在防火墙放行
5000端口,或使用内网IP。 - 返回结果格式不符合预期:可以调整提示词(prompt)内容,让模型输出更结构化的信息,例如JSON格式。
- 性能问题:本地模型推理需要消耗CPU/GPU资源,建议配置4G以上内存。如果生产环境请求量大,可将接口部署到有独立GPU的服务器上。
效果验证
完整对接后,在外贸独立站的选品页面添加一个“AI建议”按钮,点击后发送当前商品信息到本地接口,展示分析结果。
也可以定期批量分析候选商品,生成选品报告。
建议先用前面cURL命令执行多轮测试,确认模型对不同品类商品的分析质量。
如果感觉不够精准,可以更换成 qwen2.5:7b 等中文能力更强的模型。
高频问题解答
Q:必须用Python写接口吗?
A:不必须,任何支持HTTP请求的语言(Node.js、PHP、Java)都可以。Ollama自带的API已经可用,直接调用 http://localhost:11434/api/generate 即可,但独立站端需要自己拼参数。
Q:可以在同一台电脑上同时跑独立站和Ollama吗?
A:可以,只要本地资源足够。独立站如果是WordPress,通常与Ollama共存在一台VPS上。注意Ollama不建议在生产环境与高负载网站共用同一机器。
Q:接口是否安全?
A:目前示例未加认证,仅限内网或绑定了防火墙的IP使用。如果暴露到公网,建议在Flask中添加Token验证或使用Nginx反向代理做认证。
总结
通过本地Ollama搭配自定义接口,外贸独立站可以快速获得AI选品能力,且无需依赖第三方付费API。
本文从环境搭建到独立站对接给出了完整步骤,如果你在操作中遇到报错,优先检查Ollama服务状态、网络连通性和模型名称。
根据实际商品数据调整提示词后,接口能输出更具参考价值的选品建议。
如果你的独立站需要更复杂的分析逻辑(如批量处理、自动生成描述),可以在接口内扩展更多路由,或结合定时任务调用Ollama。