扣子罗盘 SDK 支持通过版本标识拉取指定 Prompt 版本。
在扣子罗盘中提交 Prompt 版本时,如果设置了版本标识,即可在 SDK 中通过 GetPrompt方法指定prompt_key 和 label来获取该版本的 Prompt 详细信息。
说明
GetPrompt方法中Version参数优先级高于Label。 例如 Prompt 提交了两个版本(0.0.1 和 0.0.2),其中 0.0.2 版本添加了production标识,以下代码最终会获取 0.0.1 版本 prompt,而不是production标识对应的 0.0.2 版本。
prompt, _ := client.GetPrompt(ctx, cozeloop.GetPromptParam{PromptKey: "prompt_hub_test", Version: "0.0.1", Label: "production"})
Version和Label参数均为空时,会获取最新提交版本的 prompt。
通过版本标识获取指定 Prompt 的示例代码如下:
import (
"context"
"github.com/coze-dev/cozeloop-go"
"github.com/coze-dev/cozeloop-go/entity"
)
var (
// 初始化client,打开prompt trace上报开关
client, _ = cozeloop.NewClient(cozeloop.WithPromptTrace(true))
)
func GetPrompt(ctx context.Context, params map[string]any) ([]*entity.Message, error) {
// 通过label获取对应版本的prompt
prompt, _ := client.GetPrompt(ctx, cozeloop.GetPromptParam{PromptKey: {promptKey}, Label: {label}})
// 完成prompt中的变量替换
return client.PromptFormat(ctx, prompt, params)
}