首页 > 其他分享 >通过云主机调用API,一键训练部署商品问答模型

通过云主机调用API,一键训练部署商品问答模型

时间:2024-12-23 15:53:15浏览次数:4  
标签:调用 单击 模型 一键 API input 问答 response

本文分享自华为云社区《【开发者空间实践指导】CodeArts IDE调用API训练商品问答模型》,作者:开发者空间小蜜蜂。

一、案例介绍

在电子商务领域,售前和售后服务是确保客户满意度和提升品牌忠诚度的重要环节。随着互联网技术的发展和消费者购物习惯的变化,线上购物已成为主流。然而,线上购物也带来了一系列挑战,如商品信息不对称、物流配送问题以及退换货流程复杂等。这些问题直接影响了消费者的购物体验和商家的销售业绩。

本案例使用华为云ModelArts工具一键部署模型,然后在云主机调用ModelArts的API,实现商品使用和咨询方面的问答能力。通过本案例,可以使开发者掌握如何在ModelArts一键部署模型,和调用API的操作,更熟练的使用AI开发工具。

二、免费领取云主机

如您还没有云主机,可点击链接 ,根据领取指南进行操作。

如您已领取云主机,可直接开始实验。

三、实验流程

说明:

  1. 用户登录ModelArts部署模型;

  2. 设置API Explorer Token;

  3. 在CodeArts IDE中编写代码,训练模型;

  4. 运行模型进行测试。

四、 实验资源

本次实验预计花费总计21.72元,实验完成后请及时释放资源,避免产生多余的费用。点击链接,加入沃土云创计划,领取云资源代金券,可免费体验。

五、设置ModelArts工具

5.1 部署模型操作

1. 打开华为云官网(https://www.huaweicloud.com/),在搜索框输入“ModelArts”,选择“AI开发平台ModelArts”的控制台,进入到AI开发平台ModelArts 的控制台页面。

2. 点击“AI Gallery”,进入AI Gallery社区。

3. 点击上方的“模型”,打开模型列表页面,在其中选取自己需要的模型,本次实验选择的是Qwen1.5-7B-ascend的模型。 Qwen1.5是一个语言模型系列,包括不同模型大小的解码器语言模型。对于每种规模,都发布了基本语言模型

4. 在打开的详情页面,单击部署下的“推理服务”,打开推理服务设置页面。

服务名称:qwen1.5安全认证:公开运行设置-计算规格选择:贵阳一,设置完成后,单击“启动部署”,确认订单信息后开始部署。

5.2 设置API Explorer Token

1. 打开华为云官网(https://www.huaweicloud.com/),在搜索框输入“API Explorer”,选择“API Explorer”的控制台,进入到API Explorer页面。

2. 单击“统一身份认证服务”,进入到统一身份认证服务的接口列表。

3. 在统一认证服务的API列表中,单击“Token管理”->“获取IAM用户Token(使用密码)”,在案例中需要使用此接口通过用户名/密码的方式进行认证来获取Token。

4. 使用接口需要先获取账号的一些信息,单击华为云首页右上方的用户名,选择“账号中心”。

进入到账号中心控制台页面,单击右上角的用户名,在打开的下拉菜单中选择“我的凭证”。

将凭证页面中的下列信息记录下来,用于进行接口调用时使用。其中的项目ID我们使用的是西南-贵阳一区域,因为模型部署在贵阳一区域。

5. 将上述信息填写到API参数位置中即可。

6. 然后单击调试,通过调试确保之前部署的模型能够运行,运行完成后会在页面显示“调试成功”。

响应结果中的Token在后续代码中调用API的时候会用到。

六、使用CodeArts IDE调用模型

6.1 使用CodeArts IDE编码

1. 双击云主机桌面的CodeArts IDE for Python图标打开IDE窗口,

2. 打开窗口后,单击新建工程,名称可以自定义,如qwen。

3. 在工程区域空白处单击鼠标右键,选择新建文件,文件名称设置为“api.py” 。

4. 在代码区将以下代码复制进去,测试调用API实现简单的问答能力。

import os
import requests
from typing import Any, Dict, List
API_URL = "https://gallery.cn-southwest-2.myhuaweicloud.com/v1/gallery/xxxxxxxxxx/"
headers = {
    "Content-Type": "application/json",
    "X-Apig-AppCode": os.getenv("HUAWEI_APP_CODE", "your_actual_app_code_here")
}

def query_api(prompt: str) -> Dict[str, Any]:
    payload = {
        "prompt": prompt,
        "max_tokens": 100,
        "top_k": -1,
        "top_p": 1,
        "temperature": 0,
        "ignore_eos": False,
        "stream": False
    }
    try:
        response = requests.post(API_URL, headers=headers, json=payload)
        print(f"Response status code: {response.status_code}")
        print(f"Response content: {response.text}")
        response.raise_for_status()  
        return response.json()
    except requests.exceptions.RequestException as e:
        print(f"请求错误{e}")
        return {"error": str(e)}
def handle_user_input(user_input: str) -> str:
    # 预定义的问题和答案
    predefined_responses = {
        "你是谁": "我是本商店的智能客服,可以帮助您解答关于本店商品的问题。",
        "你是干什么的": "我是本商店的智能客服,可以帮助您解答关于本店商品的问题。",
        "你能做什么": "我可以帮助您查找商品信息、解答常见的问题等?",
        "你好": "你好!有什么我可以帮助你的吗!",
        "再见": "再见!助您一切顺利。",
        "退出": "再见!助您一切顺利。"
    }

     # 检查用户输入是否在与预定以的问题中
    if user_input.lower() in predefined_responses:
        return predefined_responses[user_input.lower()]

    # 调用 API获取答案
    api_response = query_api(user_input)
    
     # 安全的从API响应中是否错误
    if "error" in api_response:
        return f"API错误{api_response['error']}"

    # 安全地从API响应中提取实际回答
    result = api_response.get('result', '无法获取回答')[0]
    return result

def main():
    print("欢迎来到智能客服!")
    while True:
        user_input = input("您: ")
        
        # 处理退出命令
        if user_input.lower() in ["退出", "再见"]:
            print("智能客服:")
            break
        
        response = handle_user_input(user_input)
        print(f"智能客服{response}")
if __name__ == '__main__':
    main()

在以下链接获取自己之前部署模型的API调用地址: AI Gallery 推理服务列表 _ 华为云 (huaweicloud.com) 

用刚刚获取的API调用地址去替换代码下图的红框括号“ ”里面的内容。

将在5.2小节步骤6中获得Token复制下来,因为使用这个模型必须要用token,增强系统的安全性。

复制后替换到下方红色框线的代码处。

6.2 运行模型

1. 在运行模型前需要先进入到项目的环境中。

单击下方终端区域的删除图标关闭终端。

然后点击页面下方的终端图标重新进入到项目环境中。

确认出现“(venv)”标识。

2. 在终端输入以下命令下载所需要的环境。

pip install requests

3. 运行api.py文件,观察调用效果。

python api.py

以下是效果展示,测试使用的是预训练模型,能够显示的内容有限,可以继续在本案例的基础上增加数据,对模型进行微调,通过训练增强模型的对话能力。

七、释放资源

7.1 删除ModelArts资源

在浏览器打开华为云在线服务的网址(https://pangu.huaweicloud.com/gallery/infer-list.html?ticket=ST-83304151-Li9FJtwRSmJdmIEqKyFvjgkB-sso 

上面点击更多右边的向下的箭头,然后停止服务。会出现“停止推理服务”点击确定按钮。

点击删除服务会出现产出推理服务,点击确认即可。

出现这种情况删除成功。

本次实验到此结束。

 

点击关注,第一时间了解华为云新鲜技术~

标签:调用,单击,模型,一键,API,input,问答,response
From: https://www.cnblogs.com/huaweiyun/p/18624239

相关文章

  • 在JavaScript中使用URL API
    URL是Web应用的关键部分。所有现代浏览器都支持URLAPI,它提供了一种解析和操作URL的方法。提供了对URL各个部分的访问。了解URL的组成部分考虑以下URL:https://example.com/api/search?query=foo&sort=asc#resultsURL由以下组件组成:Protocol:httpsHost:example.comPathname......
  • 深入解析 Apache APISIX
    以下是“第一部分:背景与概述”的示例写作内容,供你参考和使用。你可根据实际需求和篇幅进行增删或细化。一、背景与概述1.高性能动态网关的意义1.1微服务架构下的网关角色与价值随着微服务架构在企业级应用中日益普及,系统被拆分为更细粒度、相互独立的服务模块。这样......
  • 如何快速创建企业微信机器人并实现自动化消息推送?(如何获取企业微信API接口参数)
    文章目录......
  • 问答网站地图优化:提升用户体验与搜索引擎效率的艺术
    在当今信息爆炸的时代,问答网站作为用户获取知识和解答疑问的重要平台,其内容的组织与呈现方式对于提升用户体验和搜索引擎效率至关重要。网站地图作为网站的导航蓝图,不仅帮助用户快速定位所需信息,还是搜索引擎理解和索引网站内容的关键工具。本文将深入探讨问答网站地图的优化......
  • 基于Web Animations API的js动画库插件
    animatelo.js是一款基于WebAnimationsAPI的js动画库插件。通过animatelo.js动画库插件可以制作出63种炫酷的过渡动画效果,这些动画效果和animate.css相似。 在线预览 下载 安装可以通过bower或npm来安装animatelo.js动画库插件。$bowerinstallanimatel--save$np......
  • 前端 HTTP 请求由 Nginx 反向代理和 API 网关到后端服务的流程
    在大型互联网项目中,前端发送请求通过Nginx等反向代理和网关组件传递到后端服务的过程是一个复杂且精细的系统流程。从微服务架构的角度,这个过程可以分为以下几个主要步骤,并可能涉及其他中间组件,如监控和日志组件等。一、前端发送请求用户交互:用户在前端界面(如网页或移动......
  • Kubernetes Gateway API
    KubernetesGatewayAPIGatewayAPI是Kubernetes1.19版本引入的一种新的API规范,会成为Ingress的下一代替代方案。主要原因是Ingress资源对象不能很好的满足网络需求,很多场景下Ingress控制器都需要通过定义annotations或者crd来进行功能扩展,这对于使用标准和支持......
  • 简单快速:JAVA 中测试 RESTful API 的方法
    在后端开发中,RESTfulAPI是与前端进行数据交互的核心。无论是在开发阶段还是调试阶段,测试API都是一个必不可少的环节。传统上,开发人员常常需要在IDE和工具(如Postman)之间切换,进行接口调试。这种方式不仅耗时,而且容易中断开发流程,降低工作效率。今天,我将介绍一种简单快速的......
  • black:代码格式化的一键美容师
    大家好呀!今天我要给大家介绍一个超级实用的Python代码格式化工具——black。你是不是经常为代码格式不统一而烦恼?缩进忽大忽小,换行时机把握不准,团队成员各自风格迥异...别担心,有了black,这些问题都能一键解决!它就像是代码的美容师,让你的Python代码既规范又好看。black是什么?......
  • 用一篇文章搞懂什么是电商API
    电商API,即电子商务应用程序编程接口(ElectronicCommerceApplicationProgrammingInterface),是电子商务平台提供给开发者和商家的一种技术接口,它允许第三方应用程序访问和操作平台的数据和服务。下面将从定义、功能、优势、应用场景及文档编写等方面对电商API进行详细解析。......