月之暗面AI引擎插件

v1.0.0发布于:2024-03-25 13:07

说明文档
回复列表 (0)

介绍

月之暗面,开放平台官网:https://platform.moonshot.cn/。Moonshot的文本生成模型(指moonshot-v1)是训练用于理解自然语言和书面语言的,它可以根据输入生成文本输出。对模型的输入也被称为“prompt”。通常我们建议您提供明确的指令以及给出一些范例,来让模型能够完成既定的任务,设计 prompt 本质上就是学会如何“训练”模型。moonshot-v1模型可以用于各种任务,包括内容或代码生成、摘要、对话、创意写作等。

标识

调用插件的时候需要用到标识,标识是唯一的,不能重复,建议使用英文,不要使用中文,对应插件 plugin.json 中的 key 字段

  • 标识:moonshot

配置

{
    "baseUrl": "https://api.moonshot.cn",
    "APIKey": "sk-xxxx",
    "options": {
        "model": "moonshot-v1-128k"
    }
}

完整的 options 配置可以参考文档:https://platform.moonshot.cn/docs/api-reference#%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF

方法

下面是插件提供的一些方法

  • chat

聊天

 /**
   * 聊天
   * @param messages 消息列表
   * @param options 配置,参考官方文档: https://cloud.baidu.com/doc/Reference/s/njwvz1yfu
   * @param callback 当stream为true时,回调函数
   * @returns 返回模型结果
   */
  async chat(
    messages: Message[],
    options: any = {
      model: "moonshot-v1-128k",
      stream: false
    },
    callback?: (data: any) => void
  )

消息体

// 消息体
interface Message {
  // 角色
  role: "system" | "user" | "assistant";
  // 内容
  content: any;
}

调用示例

@Inject()
pluginService: PluginService;

// 普通调用
await this.pluginService.invoke("moonshot",  "chat", [{ role: "user", content: "你好" }]);

// 流式调用
await this.pluginService.invoke(
  "moonshot",
  "chat",
  [{ role: "user", content: "你好" }],
  {
    stream: true,
  },
  (data) => {
    console.log(data);
  }
);

更新日志

  • v1.0.0 (2024-03-25)
    • 初始版本