写点什么

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

  • 2024-12-23
    广东
  • 本文字数:3004 字

    阅读完需:约 10 分钟

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

本文分享自华为云社区《【开发者空间实践指导】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 osimport requestsfrom typing import Any, Dict, ListAPI_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 

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



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


出现这种情况删除成功。


本次实验到此结束。


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

用户头像

提供全面深入的云计算技术干货 2020-07-14 加入

生于云,长于云,让开发者成为决定性力量

评论

发布
暂无评论
通过云主机调用API,一键训练部署商品问答模型_云主机_华为云开发者联盟_InfoQ写作社区