跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonSaaSAI算法

AiOnly 平台调用 GPT-5 API 与 RAG 构建智能客服机器人

介绍如何使用 AiOnly 平台调用 GPT-5 模型并结合 RAG 知识库开发智能客服机器人。内容包括平台注册、API Key 创建与管理、Python 环境下的 API 调用示例,以及基于 Flask 框架在 Windows 本地部署完整客服系统的实战步骤。通过融合知识库检索功能,实现精准问答与多轮对话,适合中小团队低成本快速落地 AI 应用。

灵魂伴侣发布于 2026/4/6更新于 2026/7/2454 浏览
AiOnly 平台调用 GPT-5 API 与 RAG 构建智能客服机器人

引言

AI 技术加速渗透各行各业的今天,开发者常面临调用顶尖模型(如 GPT-5、Claude)时的注册门槛高、跨平台适配难、接口差异大及成本不可控等问题。本文从实战角度出发,介绍如何通过 MaaS 平台快速集成 AI 能力,从 API 密钥创建到融合 RAG 知识库的智能体开发,手把手教你在 Windows 环境部署一个低成本电商客服机器人。

第一部分:平台概览

1.1 平台定位与核心价值

该平台是全球顶尖大模型 MaaS(模型即服务)平台,核心定位是降低模型应用门槛,加速场景智能化进程。通过一键调用、敏捷开发的核心设计,将全球前沿模型整合为标准化 API 接口与模块化智能积木,让开发者无需关注底层技术细节,即可快速集成 AI 能力。

其核心优势可概括为四点:

  • 高效便捷:免海外模型开户、免跨平台注册,高速专线支持,开箱即用;
  • 价格友好:按量计费(Token/次数),支持先用后付与优惠量包;
  • 类型全面:覆盖文本、图像、视频、语音、多模态全场景模型,海外与国产模型兼备;
  • 稳定流畅:官方正规授权,API 接口标准化兼容原厂全参数,SLA 达 99.9%。
1.2 平台特色功能亮点
  1. 统一 API 与密钥管理:一个 API Key 可调用多模型,支持标准模式与融合模式,分应用创建密钥便于权限管控;
  2. 增强开发工具:包含 Prompt 优解、RAG 知识库管理(多源数据智能清洗 + 向量检索)、三方集成等;
  3. 精细化运营工具:实时调用统计、开通管理、财务计费等,降低企业成本管控难度。

第二部分:平台使用详解

2.1 平台注册与 API Key 创建
步骤 1:注册与登录
  1. 访问官方平台,点击右上角登录/注册;
  2. 新用户选择手机号验证码登录,完成验证;
  3. 登录后点击控制台,进入核心操作页面。

注意:新用户登录后通常会有新人福利,可直接抵扣模型调用费用。

步骤 2:模型服务开通
  1. 选择开通方式(先用后付或优惠量包);
  2. 进入模型广场,选择热门模型(如 GPT-5);
  3. 支付订单(支持金币余额或现金支付),勾选服务协议;
  4. 验证开通状态,若服务状态显示运行中,即可调用。
步骤 3:API Key 创建与 API URL 获取
  1. API Key 创建:
    • 填写基础信息:类型选择标准模式,名称自定义,描述可选;
    • 点击新增 API Key,生成专属密钥(长期生效,切勿公开分享)。
  2. API URL 获取:
    • 在开通管理页面右上角点击接口 URL 地址,获取当前模型的专属接口。
2.2 API 密钥管理与安全注意事项
  • 分场景隔离:为测试环境、生产环境创建独立 API Key;
  • 安全防护:不硬编码 API Key(通过环境变量加载),不存储于公开代码仓库;
  • 异常监控:通过调用统计实时查看 Token 消耗,发现异常波动立即停用;
  • 权限最小化:非必要不使用融合模式 Key,避免权限过度开放。
2.3 API 调用流程(Python 实战示例)

以调用 GPT-5 实现文本对话为例,完整流程如下:

前提条件
  • 已开通模型服务;

目录

  1. 引言
  2. 第一部分:平台概览
  3. 1.1 平台定位与核心价值
  4. 1.2 平台特色功能亮点
  5. 第二部分:平台使用详解
  6. 2.1 平台注册与 API Key 创建
  7. 步骤 1:注册与登录
  8. 步骤 2:模型服务开通
  9. 步骤 3:API Key 创建与 API URL 获取
  10. 2.2 API 密钥管理与安全注意事项
  11. 2.3 API 调用流程(Python 实战示例)
  12. 前提条件
  13. 步骤 1:环境准备
  14. 步骤 2:编写调用代码
  15. 1. 加载配置
  16. 2. 构造请求参数
  17. 3. 发送请求并解析结果
  18. 4. 测试调用
  19. 步骤 3:常见问题排查
  20. 第三部分:实战应用案例 —— 智能客服机器人开发
  21. 3.1 项目背景与技术栈
  22. 应用场景
  23. 技术栈选型
  24. 3.2 核心功能设计
  25. 3.3 完整实现步骤
  26. 步骤 1:RAG 知识库创建
  27. 电商客服 FAQ
  28. 步骤 2:创建融合模式 API Key
  29. 步骤 3:项目结构与代码实现
  30. 3.1 项目结构
  31. 3.2 依赖库配置(requirements.txt)
  32. 3.3 配置文件更新 (.env)
  33. 3.4 AiOnly API 客户端(aionly_client.py)
  34. 3.5 Flask 主程序(app.py)
  35. 3.6 前端界面(templates/index.html)
  36. 步骤 3:Windows 环境部署与运行
  37. 3.4 效果展示与适用场景
  38. 功能测试结果
  39. 局限性说明
  40. 第四部分:结语
  41. 4.1 平台核心优势总结
  42. 4.2 适用人群与场景
  43. 4.3 后续探索建议
  • 免费图片AI生成工具免费生成了解详情
  • 已获取 API Key 与文本对话接口 URL;
  • 本地环境:Python 3.7+。
  • 步骤 1:环境准备

    创建 .env 配置文件(避免硬编码 Key):

    AIONLY_API_KEY=your_api_key_here
    AIONLY_CHAT_URL=https://api.aiionly.com/v1/chat/completions
    

    安装依赖库:

    pip install requests python-dotenv
    
    步骤 2:编写调用代码
    import os
    import requests
    from dotenv import load_dotenv
    
    # 1. 加载配置
    load_dotenv()
    API_KEY = os.getenv("AIONLY_API_KEY")
    API_URL = os.getenv("AIONLY_CHAT_URL")
    HEADERS = {
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    }
    
    # 2. 构造请求参数
    def build_chat_payload(user_message, system_prompt="你是专业的 AI 助手,回答简洁准确"):
        return {
            "model": "gpt-5",
            "messages": [
                {"role": "system", "content": system_prompt},
                {"role": "user", "content": user_message}
            ],
            "temperature": 0.7,
            "max_tokens": 512
        }
    
    # 3. 发送请求并解析结果
    def call_aionly_chat(user_message):
        payload = build_chat_payload(user_message)
        try:
            response = requests.post(API_URL, headers=HEADERS, json=payload)
            response.raise_for_status()
            result = response.json()
            reply = result["choices"][0]["message"]["content"]
            token_usage = result["usage"]
            return {
                "success": True,
                "reply": reply,
                "token_used": token_usage["total_tokens"],
                "prompt_tokens": token_usage["prompt_tokens"],
                "completion_tokens": token_usage["completion_tokens"]
            }
        except requests.exceptions.RequestException as e:
            error_msg = str(e)
            if 'response' in locals():
                error_msg += f" | 错误详情:{response.json()}"
            return {"success": False, "error": error_msg}
    
    # 4. 测试调用
    if __name__ == "__main__":
        user_input = "用 Python 写一个快速排序算法,带注释"
        result = call_aionly_chat(user_input)
        if result["success"]:
            print("AI 回复:\n", result["reply"])
            print(f"\nToken 消耗:总计{result['token_used']}(输入{result['prompt_tokens']}+输出{result['completion_tokens']})")
        else:
            print("调用失败:", result["error"])
    
    步骤 3:常见问题排查
    错误码可能原因解决方案
    401API Key 错误 / 已停用检查 Key 是否正确,确认状态
    403模型未开通 / Key 权限不匹配确认模型状态,重新创建对应类型 Key
    429QPS 超限降低调用频率,或联系客服提升限制

    第三部分:实战应用案例 —— 智能客服机器人开发

    3.1 项目背景与技术栈
    应用场景

    电商平台轻量化智能客服工具,聚焦订单查询、售后咨询、产品推荐等核心需求,适合中小商家快速部署,本地 Windows 环境即可运行。

    技术栈选型
    模块选型理由
    核心接口AiOnly API(GPT-5+RAG 知识库)
    后端框架Flask(轻量 Web 框架)
    会话缓存内存字典(Python 内置)
    前端HTML+CSS+JavaScript
    运行环境Windows 10/11 + Python 3.13.5
    3.2 核心功能设计
    1. 基础多轮对话:通过内存字典存储用户历史对话,支持上下文关联;
    2. 智能 RAG 融合:使用与知识库绑定的融合模式 API Key,自动检索并融入知识库上下文;
    3. 轻量化部署:无需安装数据库和服务器软件,Python 脚本直接运行。
    3.3 完整实现步骤
    步骤 1:RAG 知识库创建

    上传 FAQ 数据(支持文档、表格),例如'退款政策.md':

    # 电商客服 FAQ
    1. 退款申请后多久到账?
    答:退款将在 1-3 个工作日内原路返回。
    2. 订单发货时间?
    答:普通商品 48 小时内发货。
    

    进入知识库管理,新建知识库,命名'电商客服 FAQ',上传文件。

    步骤 2:创建融合模式 API Key
    • 进入 API Key 管理,新增 API Key,类型选择'融合模式';
    • 在知识库配置中选择'电商客服 FAQ',开启绑定;
    • 保存生成的 Key,并在 .env 中替换 AIONLY_API_KEY。
    步骤 3:项目结构与代码实现
    3.1 项目结构
    ecommerce-ai-chatbot/
    ├── app.py
    ├── aionly_client.py
    ├── .env
    ├── requirements.txt
    └── templates/
        └── index.html
    
    3.2 依赖库配置(requirements.txt)
    flask==2.3.3
    requests==2.31.0
    python-dotenv==1.0.0
    
    3.3 配置文件更新 (.env)
    AIONLY_API_KEY=your_fusion_mode_api_key_here
    AIONLY_CHAT_URL=https://api.aiionly.com/v1/chat/completions
    
    3.4 AiOnly API 客户端(aionly_client.py)
    import os
    import requests
    from dotenv import load_dotenv
    
    user_history = {}
    load_dotenv()
    
    class AiOnlyClient:
        def __init__(self):
            self.api_key = os.getenv("AIONLY_API_KEY")
            self.chat_url = os.getenv("AIONLY_CHAT_URL")
            self.headers = {
                "Authorization": f"Bearer {self.api_key}",
                "Content-Type": "application/json"
            }
    
        def get_chat_reply(self, user_id, user_message):
            if user_id not in user_history:
                user_history[user_id] = []
            messages = [{"role": "system", "content": "你是电商 AI 客服,请根据知识库内容和用户问题,友好地回答。"}] + user_history[user_id] + [{"role": "user", "content": user_message}]
            payload = {
                "model": "gpt-5",
                "messages": messages,
                "temperature": 0.6,
                "max_tokens": 1024
            }
            try:
                response = requests.post(self.chat_url, headers=self.headers, json=payload)
                response.raise_for_status()
                result = response.json()
                reply = result["choices"][0]["message"]["content"]
                token_used = result["usage"]["total_tokens"]
                user_history[user_id].append({"role": "user", "content": user_message})
                user_history[user_id].append({"role": "assistant", "content": reply})
                user_history[user_id] = user_history[user_id][-20:]
                return {"success": True, "reply": reply, "token_used": token_used}
            except Exception as e:
                return {"success": False, "error": str(e)}
    
        def clear_user_history(self, user_id):
            if user_id in user_history:
                del user_history[user_id]
    
    3.5 Flask 主程序(app.py)
    from flask import Flask, request, jsonify, render_template
    import uuid
    from aionly_client import AiOnlyClient
    
    app = Flask(__name__)
    ai_client = AiOnlyClient()
    
    @app.route("/")
    def index():
        return render_template("index.html")
    
    @app.route("/api/chat", methods=["POST"])
    def chat():
        data = request.json
        user_id = data.get("user_id")
        user_message = data.get("message", "").strip()
        if not user_id:
            user_id = str(uuid.uuid4())
        if not user_message:
            return jsonify({"success": False, "error": "请输入有效消息"})
        result = ai_client.get_chat_reply(user_id, user_message)
        result["user_id"] = user_id
        return jsonify(result)
    
    @app.route("/api/clear-history", methods=["POST"])
    def clear_history():
        data = request.json
        user_id = data.get("user_id")
        if user_id:
            ai_client.clear_user_history(user_id)
            return jsonify({"success": True})
        return jsonify({"success": False, "error": "user_id 不能为空"}), 400
    
    if __name__ == "__main__":
        app.run(host="127.0.0.1", port=5000, debug=True)
    
    3.6 前端界面(templates/index.html)
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>电商 AI 客服</title>
    <style>
    *{margin: 0;padding: 0;box-sizing: border-box;}body{font-family: Arial, sans-serif;max-width: 800px;margin: 0 auto;padding: 20px;}.chat-container{border: 1px solid #eee;border-radius: 8px;overflow: hidden;}.chat-header{background: #2272f9;color: white;padding: 16px;font-size: 18px;}.chat-history{height: 500px;overflow-y: auto;padding: 16px;background: #fafafa;}.message{margin: 8px 0;max-width: 70%;padding: 12px;border-radius: 8px;line-height: 1.5;}.user-message{background: #2272f9;color: white;margin-left: auto;}.ai-message{background: #fff;border: 1px solid #eee;margin-right: auto;}.system-message{color: #666;font-size: 12px;text-align: center;margin: 8px 0;}.input-container{display: flex;border-top: 1px solid #eee;}#message-input{flex: 1;padding: 12px 16px;border: none;outline: none;font-size: 14px;}#send-btn{padding: 0 24px;background: #2272f9;color: white;border: none;cursor: pointer;font-size: 14px;}#clear-btn{padding: 0 16px;background: #ff4444;color: white;border: none;cursor: pointer;font-size: 14px;}</style>
    </head>
    <body>
    <div class="chat-container">
    <div class="chat-header">AiOnly 电商 AI 客服(7×24 小时在线)</div>
    <div class="chat-history" id="chat-history">
    <div class="system-message">欢迎咨询,我可以帮您查询订单、处理售后问题~</div>
    </div>
    <div class="input-container">
    <input type="text" id="message-input" placeholder="请输入您的问题"><button id="clear-btn">清除历史</button><button id="send-btn">发送</button>
    </div>
    </div>
    <script>
    let userId = localStorage.getItem("ecommerce_chat_userid");
    const chatHistory = document.getElementById("chat-history");
    const messageInput = document.getElementById("message-input");
    const sendBtn = document.getElementById("send-btn");
    const clearBtn = document.getElementById("clear-btn");
    
    function addMessage(content, isUser = false){
        const messageDiv = document.createElement("div");
        messageDiv.className = isUser ? "message user-message" : "message ai-message";
        messageDiv.textContent = content;
        chatHistory.appendChild(messageDiv);
        chatHistory.scrollTop = chatHistory.scrollHeight;
    }
    
    async function sendMessage(){
        const message = messageInput.value.trim();
        if(!message) return;
        addMessage(message, isUser = true);
        messageInput.value = "";
        try{
            const response =  (, {
                : ,
                : {: },
                : .({ : userId, : message })
            });
             result =  response.();
            userId = result.;
            .(, userId);
            (result.){
                (result.);
            }  {
                ();
            }
        } (e){
            ();
        }
    }
    
      (){
        (userId){
             (, {
                : ,
                : {: },
                : .({ : userId })
            });
        }
        chatHistory. = ;
        .();
        userId = ;
    }
    
    sendBtn.(, sendMessage);
    messageInput.(, {(e. === )();});
    clearBtn.(, clearHistory);
    </script>
    </body>
    </html>
    
    步骤 3:Windows 环境部署与运行
    1. 环境准备:安装 Python 3.13.5,确保勾选 Add Python to PATH;
    2. 创建项目文件夹:在命令行执行 mkdir C:\ecommerce-ai-chatbot 并进入;
    3. 启动服务:执行 python app.py,看到 Running on http://127.0.0.1:5000 即为成功;
    4. 访问界面:浏览器输入 http://127.0.0.1:5000 即可开始使用。
    3.4 效果展示与适用场景
    功能测试结果
    测试场景实际效果耗时准确率
    FAQ 匹配直接返回知识库答案<200ms100%
    多轮对话基于内存历史保持上下文理解300-400ms90%
    复杂问题调用 GPT-5 生成个性化推荐400-600ms85%
    局限性说明
    • 内存存储对话历史,重启服务后丢失;
    • 不支持高并发(建议同时在线用户≤10 人);
    • 需保持命令提示符窗口开启。

    第四部分:结语

    4.1 平台核心优势总结
    1. 接入门槛极低:无需技术背景也能完成注册→开通模型→API 调用;
    2. 成本可控性强:按量计费 + 优惠量包,大幅降低试错成本;
    3. 场景覆盖全面:从个人 AIGC 创作到企业级智能体开发,全链路需求均可满足;
    4. 技术支撑完善:标准化 API + 专业工具,开发者专注业务逻辑。
    4.2 适用人群与场景
    • AI 开发者:快速集成多模型,降低开发成本;
    • 内容创作者:提升创作效率,降低素材成本;
    • 企业运营:替代人工工作,降低运营成本;
    • 高校科研人员:低成本调用顶尖模型,支持科研创新。
    4.3 后续探索建议
    1. 尝试多模型协作:构建完整 AIGC 流水线;
    2. 深入 RAG 功能:上传企业私有文档,构建专属知识库。
    await
    fetch
    "/api/chat"
    method
    "POST"
    headers
    "Content-Type"
    "application/json"
    body
    JSON
    stringify
    user_id
    message
    const
    await
    json
    user_id
    localStorage
    setItem
    "ecommerce_chat_userid"
    if
    success
    addMessage
    reply
    else
    addMessage
    `抱歉,服务暂时 unavailable:${result.error}`
    catch
    addMessage
    "网络错误,请稍后再试"
    async
    function
    clearHistory
    if
    await
    fetch
    "/api/clear-history"
    method
    "POST"
    headers
    "Content-Type"
    "application/json"
    body
    JSON
    stringify
    user_id
    innerHTML
    '<div>欢迎咨询,我可以帮您查询订单、处理售后问题~</div>'
    localStorage
    removeItem
    "ecommerce_chat_userid"
    null
    addEventListener
    "click"
    addEventListener
    "keypress"
    (e)=>
    if
    key
    "Enter"
    sendMessage
    addEventListener
    "click"
    • Magick API 一键接入全球大模型注册送1000万token查看
    • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
    • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
    • 100+免费在线小游戏爽一把
    极客日志微信公众号二维码

    微信扫一扫,关注极客日志

    微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

    更多推荐文章

    查看全部
    • 护网行动与红蓝对抗详解
    • 在 VSCode 本地跑 DeepSeek 的实用配置
    • C++ 核心语法与实战指南
    • 从零开始构建大型语言模型:理解基础与架构
    • UG NX 逆向建模点云与 STL 网格坐标原点对齐方法
    • Axios 错误处理的设计与进阶封装,实现网络层面的数据与状态解耦
    • MAX4466 模拟麦克风语音前端放大电路设计与调试
    • Amazon SageMaker 部署 AIGC 应用:训练优化及 Web 前端集成实践
    • Qwen3-4B-Instruct 多行业落地实践:教育、法律与电商文案生成
    • Spring Boot 自动配置原理与实战
    • Python 办公自动化实战:批量处理 Excel、Word 与 PPT
    • Llama-3.2-3B 代码审查:基于 Java 面试题的质量评估体系
    • Microi 吾码低代码微服务框架与表单引擎解析
    • Cursor Chat Browser:管理 AI 聊天历史的 Web 工具
    • VSCode 中通过扩展使用 OpenAI 兼容模型配置 GitHub Copilot
    • 开源AI电话机器人外呼系统实战:从架构设计到生产环境部署
    • C++ 手搓 AVL 平衡二叉搜索树
    • 2026 年主流 AI 编程工具深度评测与选型指南
    • 无人机视角军事目标细分类检测数据集及多 YOLO 版本训练验证
    • 国内直连AI绘画工具实践指南及Stable Diffusion部署方案

    相关免费在线工具

    • 加密/解密文本

      使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

    • RSA密钥对生成器

      生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

    • Mermaid 预览与可视化编辑

      基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

    • 随机西班牙地址生成器

      随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

    • Gemini 图片去水印

      基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

    • curl 转代码

      解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online