云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

大模型服务平台百炼使用(百炼大模型训练控制台)

jxf315 2025-06-03 22:51:48 教程文章 10 ℃

提供完整的模型训练、微调、评估等产品工具,预置丰富的应用插件,提供便捷的集成方式,更快更高效地完成大模型应用的构建。

一、通过变量的方式使用平台模板

一个好的Prompt可以更好的让模型理解我们的需求,产出真正符合我们业务的结果。 百炼平台上提供了很多Prompt模板,这些模板具备一定的通用性,我们可以直接通过接口调用,传递我们自己的业务需求创造一个更能贴近具体需求的Prompt,以平台提供的前端开发助手为例



1.1 创建应用

首先第一步创建应用并选择使用的模型,目前提供了三个模型,分别是:

  • 通义千问-Max(通义千问2.5系列千亿级别超大规模语言模型,支持中文、英文等不同语言输入。随着模型的升级,滚动更新升级)
  • 通义千问-Plus(通义千问超大规模语言模型的增强版,支持中文英文等不同语言输入)
  • 通义千问-Turbo(通义千问超大规模语言模型,支持中文英文等不同语言输入。)

我选择的是千问-Max


1.2 获取参数

查看Prompt参数



这一步主要是获取模板id和参数变量。

同时还有几个参数,分别是AccessKey ID、AccessKey Secret、这两个参数是您访问阿里云 API 的密钥,具有该账户完全的权限,在账号AccessKey管理中可以查看。

API-KEY,该参数在百炼平台的个人中心和应用上都可查看 app_id,对应的是应用id API-ID,对应的是api id AgentKey,在百炼业务空间中

1.3 通过请求配置模板

import os
import sys
import json
from typing import List
from http import HTTPStatus
from dashscope import Application
from alibabacloud_bailian20230601.client import Client as bailian20230601Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_bailian20230601 import models as bailian_20230601_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_tea_util.client import Client as UtilClient


class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client() -> bailian20230601Client:
        """
        使用AK&SK初始化账号Client
        @return: Client
        @throws Exception
        """
        config = open_api_models.Config(
            # 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。,
            access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            # 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。,
            access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        )
        config.endpoint = f'bailian.cn-beijing.aliyuncs.com'
        return bailian20230601Client(config)

    @staticmethod
    def main(
        args: List[str],
    ) -> None:
        client = Sample.create_client()
        get_prompt_request = bailian_20230601_models.GetPromptRequest(
            prompt_id='adeb901ebb6c4c02a3333150398',
            agent_key='5a3eb958a7394501cbf376c02_p_efm',
            vars='{"require":"请帮我用element plus创建一个界面,要求有两个tab页,第一个tab叫处理配置,第二个叫锁座规则管理,第一个tab页有三个输入项,分别是航司、场站、有效期范围(起止日期两个输入框),输入框后面是一个查询按钮,点击查询按钮会发起请求,结果会展示在底部的列表中"}'

        )
        runtime = util_models.RuntimeOptions()
        try:
            resp = client.get_prompt_with_options(get_prompt_request, runtime)
            content = UtilClient.to_jsonstring(resp)
            # 解析JSON
            data = json.loads(content)
            # 提取PromptContent
            # prompt_content = data['body']['Data']['PromptContent']
        except Exception as error:
            # 错误 message
            print(error.message)
            # 诊断地址
            print(error.data.get("Recommend"))
            UtilClient.assert_as_string(error.message)

    @staticmethod
    async def main_async(
        args: List[str],
    ) -> None:
        client = Sample.create_client()
        get_prompt_request = bailian_20230601_models.GetPromptRequest(
            prompt_id='adeb901ebb6c4c02a3333150398',
            agent_key='5a3eb958a7394501cbf376c02_p_efm'
        )
        runtime = util_models.RuntimeOptions()
        try:
            resp = await client.get_prompt_with_options_async(get_prompt_request, runtime)
            print(UtilClient.to_jsonstring(resp))
        except Exception as error:
            # 错误 message
            print(error.message)
            # 诊断地址
            print(error.data.get("Recommend"))
            UtilClient.assert_as_string(error.message)

这里需要注意,如果不想修改自己的环境变量,可以使用以下临时的方式

export ALIBABA_CLOUD_ACCESS_KEY_ID=""
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=""

调用该请求可以得到一个自定义的Prompt,返回如下:

 作为一个资深的前端开发专家,你擅长运用HTML5语言来高效实现各类定制化需求。现在求有两个tab页,第一个tab叫处理配置,第二个叫锁座规则管理,第一个tab页有三个输入项,分别是航司、场站、有效期范围(起止日期两个输入框),输入框后面是一个查询按钮,点击查询按钮和JavaScript技术,以满足这一特定功能的需求。同时,请提供可复用的代码段或框架建议,确保方案具有良好的浏览器兼容性和性能表现。

注意:这里我输入了一个具体的业务,主要是为了演示过程,实际上应该是个规则,而不是业务

1.4 利用模板请求应用模型

请求如下:

def call_agent_app(prompt_content):
    response = Application.call(app_id='ded7f14b450da73e26c34777f26dbd0',
                                prompt=prompt_content,
                                api_key='sk-69423623b11e44449aed64473a1cc18c',

                                )

    if response.status_code != HTTPStatus.OK:
        print('request_id=%s, code=%s, message=%s\n' % (response.request_id, response.status_code, response.message))
    else:
        print('request_id=%s\n output=%s\n usage=%s\n' % (response.request_id, response.output, response.usage))

模板处修改如下:

prompt_content = data['body']['Data']['PromptContent']
 call_agent_app(prompt_content)

1.5 查看返回

 output={"text": "要使用Element Plus创建一个符合您描述的界面,我们需要结合HTML、CSS、JavaScript,以及Element Plus的组件库。Element Plus是一个基于Vue.js的UI框架,它提供了丰富t Plus。如果未安装,可以通过npm或yarn进行安装:\n```bash\nnpm install element-plus\n# 或者\nyarn add element-plus\n```\n\n然后,在您的项目的入口文件中引入Element Plus,并按例,展示如何使用Element Plus的组件来实现您的需求。此代码段展示了如何设置两个Tab页、输入项、查询按钮及结果显示列表。\n\n```html\n<template>\n  <div>\n    <el-tabs v-model=\"ame=\"first\">\n        <el-form ref=\"form\" :model=\"formData\" label-width=\"80px\">\n          <el-form-item label=\"航司\">\n            <el-input v-model=\"formData.aline\"></el-input>\n          </el-form-item>\n          <el-form-item label=\"场站\">\n            <el-input v-model=\"formData.station\"></el-input>\n          </el-form-em>\n          <el-form-item label=\"有效期范围\">\n            <el-date-picker\n              v-model=\"formData.dateRange\"\n              type=\"daterange\"\n           nge-separator=\"至\"\n              start-placeholder=\"开始日期\"\n              end-placeholder=\"结束日期\">\n            </el-date-picker>\n          </el-form-item>\n <el-button @click=\"queryData\">查询</el-button>\n        </el-form>\n        <el-table v-loading=\"loading\" :data=\"tableData\">\n          <!-- 定义表格列 -->\n         ble-column prop=\"column1\" label=\"列1\"></el-table-column>\n          <el-table-column prop=\"column2\" label=\"列2\"></el-table-column>\n          <!-- 其他列定义... -->      </el-table>\n      </el-tab-pane>\n      <el-tab-pane label=\"锁座规则管理\" name=\"second\">这里是锁座规则管理的内容</el-tab-pane>\n    </el-tabs>\n  </div>\n</templexport default {\n  data() {\n    return {\n      activeName: 'first',\n      formData: {\n        airline: '',\n        station: '',\n        dateRange: [],\n      },\n      tableData: [], // 查询结果数据\n      loading: false, // 表格加载状态\n    };\n  },\n  methods: {\n    queryData() {\n      this.loading = true;\n      // 发起查询请求的os或其他HTTP客户端的调用\n      // 假设使用axios\n      // axios.post('/your/api/path', this.formData)\n      //   .then(response => {\n      //     this.tableData = respon设后端返回的是直接用于展示的数据\n      //     this.loading = false;\n      //   })\n      //   .catch(error => {\n      //     console.error('查询失败', error);\n      //     this.loading = false;\n      //   });\n    },\n  },\n};\n</script>\n\n<style scoped>\n/* 可在此处添加自定义样式以优化显示效果 */\n</style>\n```\n\n这个示例中使用了以下Es>` 和 `<el-tab-pane>` 实现Tab页切换。\n- `<el-form>`、`<el-form-item>` 和 `<el-input>` 创建输入表单。\n- `<el-date-picker>` 用于选择日期范围。\n- `<el-button>` 作为查询按钮-column>` 显示查询结果。\n\n请注意,为了简化示例,我没有包含真实的HTTP请求代码。您需要根据实际情况使用`axios`或其他库来发起请求,并处理响应数据。\n\n为了确保良好的浏览器兼容用Vue的特性(如异步组件、懒加载)以及Element Plus的按需加载机制,可以进一步优化。\n\n希望这个示例能够帮助您快速搭建所需的界面。如果有更具体的需求或遇到任何问题,欢迎继续提问: "8b7ba94cbc3e4317a2388a092eef0b7b", "thoughts": null, "doc_references": null}

1.6 效果查看

我将代码移到了项目中,并将其运行起来,效果如下:

二、自定义模板

2.1 通过百炼平台可以优化Prompt


2.2 保存模板为自定义

2.3 接下来我们就可以1.4的方式调用自己的模板

注意修改以下两个参数

prompt_id='',
vars='{}"

Tags:

最近发表
标签列表