网站首页 > 教程文章 正文
提供完整的模型训练、微调、评估等产品工具,预置丰富的应用插件,提供便捷的集成方式,更快更高效地完成大模型应用的构建。
一、通过变量的方式使用平台模板
一个好的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='{}"
- 上一篇: 如何实现并部署自己的npm解析服务
- 下一篇: 别再自建仓库了,云效Maven仓库不限容量免费用
猜你喜欢
- 2025-06-03 Docsify-3分钟搭建属于自己的技术文档WIKI
- 2025-06-03 Elasticsearch数据迁移方案(elasticsearch索引迁移)
- 2025-06-03 Vue、Nuxt服务端渲染、NodeJS全栈项目
- 2025-06-03 Android Studio下载Gradle超时解决方案
- 2025-06-03 一文讲清楚 Markdown+Typora+Pandoc+图床+PicGo
- 2025-06-03 用户说 | 手把手体验通义灵码 2.0 AI 程序员如何让我进阶“架构师”?
- 2025-06-03 15.7k star,经典与效率兼备的后台管理框架
- 2025-06-03 Cursor + 12306 MCP,打造AI智能选票系统,超酷的!
- 2025-06-03 别再自建仓库了,云效Maven仓库不限容量免费用
- 2025-06-03 如何实现并部署自己的npm解析服务
- 最近发表
-
- 【Python】一文学会使用 Pandas 库
- Docsify-3分钟搭建属于自己的技术文档WIKI
- Elasticsearch数据迁移方案(elasticsearch索引迁移)
- Vue、Nuxt服务端渲染、NodeJS全栈项目
- Android Studio下载Gradle超时解决方案
- 一文讲清楚 Markdown+Typora+Pandoc+图床+PicGo
- 用户说 | 手把手体验通义灵码 2.0 AI 程序员如何让我进阶“架构师”?
- 15.7k star,经典与效率兼备的后台管理框架
- Cursor + 12306 MCP,打造AI智能选票系统,超酷的!
- 别再自建仓库了,云效Maven仓库不限容量免费用
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)