通义千问

v1.0.0发布于:2024-05-11 12:36

说明文档
回复列表 (0)

介绍

通义千问大模型,是阿里云出品的一款国内领先的大模型问答系统,提供了丰富的 API 接口,可以满足各种场景的需求。

标识

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

  • 标识:tongyi

配置

{
  "baseUrl": "https://dashscope.aliyuncs.com/api/v1",
  "apiKey": "通义的API Key",
  "options": {
    "model": "qwen-max"
  }
}

参数配置可以查看官方文档

方法

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

  • chat

聊天

 /**
   * 调用模型
   * @param messages 消息列表
   * @param options 配置,参考官方文档:https://help.aliyun.com/document_detail/2712576.html
   * @param callback 当stream为true时,回调函数
   * @returns 返回模型结果
   */
  async chat(
    messages: Message[],
    options: any = {
      model: "qwen-max",
      stream: false,
      url: "/services/aigc/text-generation/generation",
    },
    callback?: (data: any) => void
  )
  • embeddings

向量化

  /**
   * 向量化
   * @param input 字符串数组
   * @param options 配置参数文档:https://help.aliyun.com/document_detail/2712515.html?
   */
  async embeddings(
    inputs: string[],
    options: any = {
      model: "text-embedding-v2",
      url: "/services/embeddings/text-embedding/text-embedding",
      type: "query",
    }
  )

调用示例

@Inject()
pluginService: PluginService;

// 获取插件实例
const instance = await this.pluginService.getInstance('test');

const messages: any = [
    { role: "system", content: "你叫小酷" },
    {
      role: "user",
      content: `你好,你是谁`,
    },
  ];
// 普通调用
const res = await instance.chat(messages);
console.log(res);
// 流式调用
instance.chat(messages, { stream: true }, (data) => {
  console.log(data);
});
// 向量化
const data = await instance.embeddings(["cool"]);
console.log(data);

更新日志

  • v1.0.0 (2024-05-11)
    • 初始版本