扣子罗盘 SDK 支持调用预定义的 Prompt 来与 AI 模型交互,文档介绍如何通过 Node.js SDK 实现这一功能。
通过扣子罗盘 Node.js SDK 调用预定义的 Prompt 模板时,可以选择以下两种调用方式:
https://loop.coze.cn/console/enterprise/personal/space/73917415734092****/pe/prompts/75115667262537**** 中,73917415734092****为工作空间 ID。executePrompt 权限。获取密钥及授权方式可参考SDK 鉴权。以下示例代码演示如何通过扣子罗盘 Node.js SDK 调用一个预定义的 Prompt 模板。调用模板时传入具体参数,然后获取 AI 模型对 “解释机器学习” 这个问题的简短回答,同时演示了同步获取完整结果和异步流式获取结果两种方式。
关于调用 Prompt 的更多使用示例,例如指定版本标识执行 Prompt、多模态 Prompt、传递 Prompt 变量、超时设置等,可参考 Github。
import { ApiClient, PromptAsAService } from '@cozeloop/ai';
const apiClient = new ApiClient({
token: 'pat_xxx',
});
const model = new PromptAsAService({
// or set it as process.env.COZELOOP_WORKSPACE_ID,
workspaceId: 'your_workspace_id',
// prompt to invoke as a service
prompt: {
prompt_key: 'ptaas_demo',
version: '0.0.1',
},
apiClient,
});
// invoke
const reply = await model.invoke({
messages: [{ role: 'user', content: 'Keep the answer brief.' }],
variables: {
topic: 'artificial intelligence',
user_request: 'explain what is machine learning',
},
});
console.info(reply);
// stream
const replyStream = await model.stream({
messages: [{ role: 'user', content: 'Keep the answer brief.' }],
variables: {
topic: 'artificial intelligence',
user_request: 'explain what is machine learning',
},
});
for await (const chunk of replyStream) {
console.info(chunk);
}