日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

API詳情

前言

ONE-PEACE是一個圖文音三模態通用表征模型,在語義分割、音文檢索、音頻分類和視覺定位幾個任務都達到了新SOTA表現,在視頻分類、圖像分類圖文檢索、以及多模態經典benchmark也都取得了比較領先的結果。 另外,模型展現出來新的zeroshot能力,即實現了新的模態對齊,比如音頻和圖像的對齊,或者音頻+文字和圖像的對齊,而這類數據并沒有出現在我們的預訓練數據集里。

下面這張圖展示了ONE-PEACE的模型架構和預訓練任務。借助于擴展友好的架構和模態無關的任務,ONE-PEACE具備擴展到無限模態的潛力

image.png

作為一個4B規模的通用表征模型,ONE-PEACE在一系列視覺、語音和多模態任務上取得領先的結果。 此外,ONE-PEACE還具備強大的多模態檢索能力,能夠完成圖文音三模態之間的互相檢索。如下圖所示,我們通過case展示了ONE-PEACE的音搜圖,音+圖搜圖,以及音+文搜圖的能力。

image.png

模型局限:模型主要使用開源的英文數據進行訓練,因此中文的表征能力可能不太理想

模型概覽

模型中文名

模型英文名

數據類型

向量維度

ONE-PEACE通用表征模型

multimodal-embedding-one-peace-v1

float(32)

1536

SDK使用

前提條件

調用示例

說明

需要使用您的API-KEY替換示例中的 YOUR_DASHSCOPE_API_KEY,代碼才能正常運行。

設置API-KEY

 export DASHSCOPE_API_KEY=YOUR_DASHSCOPE_API_KEY

代碼示例

生成圖片embedding示例

單獨輸入1張圖片

    from dashscope import MultiModalEmbedding
    
    
    def image_embedding():
        input = [{'image': 'https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png'},
                 ]
        result = MultiModalEmbedding.call(model=MultiModalEmbedding.Models.multimodal_embedding_one_peace_v1,
                                          input=input,
                                          auto_truncation=True)
        print(result)
    
    
    if __name__ == '__main__':
        image_embedding()
    
    // Copyright (c) Alibaba, Inc. and its affiliates.
    
    import com.alibaba.dashscope.embeddings.MultiModalEmbedding;
    import com.alibaba.dashscope.embeddings.MultiModalEmbeddingItemImage;
    import com.alibaba.dashscope.embeddings.MultiModalEmbeddingParam;
    import com.alibaba.dashscope.embeddings.MultiModalEmbeddingResult;
    import com.alibaba.dashscope.exception.ApiException;
    import com.alibaba.dashscope.exception.NoApiKeyException;
    import com.alibaba.dashscope.exception.UploadFileException;
    
    import java.util.Arrays;
    
    
    public class Main {
      public static void imageEmbedding() throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalEmbedding embedding = new MultiModalEmbedding();
        MultiModalEmbeddingItemImage image =
            new MultiModalEmbeddingItemImage(
                "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png");    
        MultiModalEmbeddingParam param =
            MultiModalEmbeddingParam.builder()
                .model(MultiModalEmbedding.Models.MULTIMODAL_EMBEDDING_ONE_PEACE_V1)
                .contents(Arrays.asList(image))
                .build();
        MultiModalEmbeddingResult result = embedding.call(param);
        System.out.print(result);
      }
    
    
      public static void main(String[] args){
          try {
            imageEmbedding();
          } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
          }
          System.exit(0);
      }
    }
    
    
    
    

圖片&語音embedding示例

結合圖片和語音,生成Embedding。

from dashscope import MultiModalEmbedding


def image_audio_embedding():
    input = [{'audio': 'https://dashscope.oss-cn-beijing.aliyuncs.com/audios/cow.flac'},
             {'image': 'https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png'}]
    result = MultiModalEmbedding.call(model=MultiModalEmbedding.Models.multimodal_embedding_one_peace_v1,
                                      input=input,
                                      auto_truncation=True)
    print(result)


if __name__ == '__main__':
    image_audio_embedding()
// Copyright (c) Alibaba, Inc. and its affiliates.

import com.alibaba.dashscope.embeddings.MultiModalEmbedding;
import com.alibaba.dashscope.embeddings.MultiModalEmbeddingItemAudio;
import com.alibaba.dashscope.embeddings.MultiModalEmbeddingItemImage;
import com.alibaba.dashscope.embeddings.MultiModalEmbeddingParam;
import com.alibaba.dashscope.embeddings.MultiModalEmbeddingResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;

import java.util.Arrays;


public class Main {
  public static void imageAndAudioEmbedding() throws ApiException, NoApiKeyException, UploadFileException {
    MultiModalEmbedding embedding = new MultiModalEmbedding();
    MultiModalEmbeddingItemImage image =
        new MultiModalEmbeddingItemImage(
            "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png");

    MultiModalEmbeddingItemAudio audio = new MultiModalEmbeddingItemAudio("https://dashscope.oss-cn-beijing.aliyuncs.com/audios/cow.flac");
    
    MultiModalEmbeddingParam param =
        MultiModalEmbeddingParam.builder()
            .model(MultiModalEmbedding.Models.MULTIMODAL_EMBEDDING_ONE_PEACE_V1)
            .contents(Arrays.asList(audio, image))
            .build();
    MultiModalEmbeddingResult result = embedding.call(param);
    System.out.print(result);
  }


  public static void main(String[] args){
      try {
        imageAndAudioEmbedding();
      } catch (ApiException | NoApiKeyException | UploadFileException e) {
        System.out.println(e.getMessage());
      }
      System.exit(0);
  }
}

多模態混合embedding示例

如果您需要混合使用多種模態的數據來產生多模態的向量表征Embedding,也可以通過配置多種模態數據,并在必要的時候配置不同的表征權重,來生成綜合向量Embedding。 這里示例為文本,圖像和語音的混合模態示例,并且對于每個item都配置了不同的權重。值得注意的是,每條item中權重的數值均可單獨配置,不填寫時默認為1。

from dashscope import MultiModalEmbedding


def multimodal_with_factor_embedding():
    input = [{'factor': 1, 'text': '你好'},
             {'factor': 2, 'audio': 'https://dashscope.oss-cn-beijing.aliyuncs.com/audios/cow.flac'},
             {'factor': 3, 'image': 'https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png'}]
    result = MultiModalEmbedding.call(model=MultiModalEmbedding.Models.multimodal_embedding_one_peace_v1,
                                      input=input,
                                      auto_truncation=True)
    print(result)


if __name__ == '__main__':
    multimodal_with_factor_embedding()
// Copyright (c) Alibaba, Inc. and its affiliates.

import com.alibaba.dashscope.embeddings.MultiModalEmbedding;
import com.alibaba.dashscope.embeddings.MultiModalEmbeddingItemAudio;
import com.alibaba.dashscope.embeddings.MultiModalEmbeddingItemImage;
import com.alibaba.dashscope.embeddings.MultiModalEmbeddingItemText;
import com.alibaba.dashscope.embeddings.MultiModalEmbeddingParam;
import com.alibaba.dashscope.embeddings.MultiModalEmbeddingResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;

import java.util.Arrays;

public class Main {
  public static void multiModalWithFactorEmbedding() throws ApiException, NoApiKeyException, UploadFileException {
    MultiModalEmbedding embedding = new MultiModalEmbedding();
    MultiModalEmbeddingItemText text =
        MultiModalEmbeddingItemText.builder()
            .text("冬雪")
            .factor(2.0)
            .build();
    MultiModalEmbeddingItemImage image =
        new MultiModalEmbeddingItemImage(
            "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png",
            1.0);

    MultiModalEmbeddingItemAudio audio = 
    new MultiModalEmbeddingItemAudio("https://dashscope.oss-cn-beijing.aliyuncs.com/audios/cow.flac",
    1.0);
    
    MultiModalEmbeddingParam param =
        MultiModalEmbeddingParam.builder()
            .model(MultiModalEmbedding.Models.MULTIMODAL_EMBEDDING_ONE_PEACE_V1)
            .contents(Arrays.asList(audio, image, text))
            .build();
    MultiModalEmbeddingResult result = embedding.call(param);
    System.out.print(result);
  }

  public static void main(String[] args){
      try {
        multiModalWithFactorEmbedding();
      } catch (ApiException | NoApiKeyException | UploadFileException e) {
        System.out.println(e.getMessage());
      }
      System.exit(0);
  }
}

本地文件調用

您也可以通過本地文件調用接口,示例如下,您需要按照示例所示文件路徑格式輸入。

from dashscope import MultiModalEmbedding


def call_with_local_file():
    """Sample of use local file.
       linux&mac file format: file:///home/images/test.png
       windows file format: file://D:/images/abc.png
    """
    # file path must absolute path
    input = [{'image': 'file://absolute_local_path'},
             {'image': 'file://absolute_local_path2'}]
    result = MultiModalEmbedding.call(
        model=MultiModalEmbedding.Models.
        multimodal_embedding_one_peace_v1,
        input=input,
        auto_truncation=True)
    print(result)


if __name__ == '__main__':
    call_with_local_file()
// Copyright (c) Alibaba, Inc. and its affiliates.

import com.alibaba.dashscope.embeddings.MultiModalEmbedding;
import com.alibaba.dashscope.embeddings.MultiModalEmbeddingItemImage;
import com.alibaba.dashscope.embeddings.MultiModalEmbeddingItemText;
import com.alibaba.dashscope.embeddings.MultiModalEmbeddingParam;
import com.alibaba.dashscope.embeddings.MultiModalEmbeddingResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import java.util.Arrays;

public class Main {
  /*
   * sample of use local file
   * Windows file format: file:///D:/test/images/test.png
   * Linux & Mac format: file://The_absolute_local_path
   * 
   */

  public static void callWithLocalFile() throws ApiException, NoApiKeyException, UploadFileException {
    MultiModalEmbedding embedding = new MultiModalEmbedding();
    MultiModalEmbeddingItemText text = MultiModalEmbeddingItemText.builder().text("冬雪").build();
    String localFilePath = "file:///home/tests/image.png";
    String localFilePath2 = "file:///home/tests/image.png";
    MultiModalEmbeddingItemImage image = new MultiModalEmbeddingItemImage(localFilePath);
    MultiModalEmbeddingItemImage image2 = new MultiModalEmbeddingItemImage(localFilePath2);
    MultiModalEmbeddingParam param = MultiModalEmbeddingParam.builder()
        .model(MultiModalEmbedding.Models.MULTIMODAL_EMBEDDING_ONE_PEACE_V1)
        .contents(Arrays.asList(image, image2, text))
        .build();
    MultiModalEmbeddingResult result = embedding.call(param);
    System.out.print(result);
  }

  public static void main(String[] args) {
    try {
      callWithLocalFile();
    } catch (ApiException | NoApiKeyException | UploadFileException e) {
      System.out.println(e.getMessage());
    }
    System.exit(0);
  }
}

輸出示例

{
    "status_code": 200,
    "request_id": "the_request_Id",
    "code": "",
    "message": "",
    "output": {
        "embedding": [
            -0.0200169887393713,
            0.041749317198991776
            ... ...
        ]
    },
    "usage": {
        "image": {
            "measure": 1,
            "weight": 1
        },
        "total_usage": 4,
        "audio": {
            "measure": 1,
            "weight": 2
        },
        "text": {
            "measure": 1,
            "weight": 1
        }
    }
}

參數詳解

  1. 請求參數

    參數名稱

    必選

    示例值

    描述

    model

    multimodal-embedding-one-peace-v1

    • 取值:該值是固定值,無需更改

    • 說明:代表模型的英文名稱

    input

    [{'factor': 1, 'text': '你好'}, {'factor': 2, 'audio': 'https://data-generator-idst.oss-cn-shanghai.aliyuncs.com/dashscope/image/multi_embedding/audio/cow.flac'},

    {'factor': 3, 'image': 'https://data-generator-idst.oss-cn-shanghai.aliyuncs.com/dashscope/image/multi_embedding/image/256_1.png'}]

    • 取值:為多模態輸入列表,目前支持三種模態,格式為

    {"模態": "輸入字符串或圖像音頻url", "factor": "數值,該部分權重"}

    模態對應[text|image|audio]

    • image

    圖像格式目前支持:bmp, jpg, jpeg, png 和 tiff;文件大小不超過5M。

    • audio

    • 當前支持最大音頻時長為15s,超出該時長的音頻內容在 auto-truncation 功能打開的情況下會被截斷繼續計算向量,auto-truncation 功能關閉的時候本次請求會報錯返回;語音格式目前支持 wav, mp3 和 flac;文件大小不超過5M。

    • text

    當前支持最大文本長度為70 字,超出該長度的文本內容在 auto-truncation 功能打開的情況下會被截斷繼續計算向量,auto-truncation 功能關閉的時候本次請求會報錯返回;

    auto_truncation

    自動截斷

    • 取值:true|false

    • 是否自動截斷輸入種過長的文本(70字符),如果為否,則輸入過長,結果會報錯,否則截斷字符串,返回embedding,默認為false,過長輸入會報錯。

    • 默認為false

  2. 響應參數

    字段

    類型

    描述

    示例值

    status_code

    Integer

    本次結果http相應碼,200對應請求成功。

    code

    String

    請求失敗,為簡短錯誤碼。

    message

    String

    詳細錯誤信息。

    output.embedding

    Array

    本次請求的算法輸出內容,是一個由結構組成的數組,每一個數組中包含一個對應的輸入內容的算法向量表征輸出內容.java sdk統一轉換為Double,參考模型輸出類型,進行比較的數據類型轉換。

    "embedding": [

    -0.006929283495992422,

    -0.005336422007530928,

    ... 省略

    ]

    usage.[text|image|audio]

    dict

    對應各模態計量信息。

    12

    usage.weight

    Integer

    計量權重,計算規則,total_usage=text.measure*text.weight + audio.measure*audio.weight + image.measure*image.weight

    usage.total_usage

    Integer

    對應總的計量信息

    request_id

    String

    本次請求的系統唯一碼

    7574ee8f-38a3-4b1e-9280-11c33ab46e51

HTTP調用

說明

本模型還可通過HTTP的方式進行調用,以適用更靈活的業務開發,下面是HTTP同步調用接口的接口詳情。

作業提交接口調用

POST https://dashscope.aliyuncs.com/api/v1/services/embeddings/multimodal-embedding/multimodal-embedding

參數詳解

請求參數

傳參方式

字段

類型

必選

描述

示例值

Header

Content-Type

String

請求類型:application/json 或者text/event-stream(開啟 SSE 響應)

application/json

Authorization

String

API-Key,例如:Bearer d1**2a

Bearer d1**2a

X-DashScope-WorkSpace

String

指明本次調用需要使用的workspace;需要注意的是,對于子賬號Apikey調用,此參數為必選項,子賬號必須歸屬于某個workspace才能調用;對于主賬號Apikey此項為可選項,添加則使用對應的workspace身份,不添加則使用主賬號身份。

ws_QTggmeAxxxxx

Body

model

String

指明需要調用的模型,此處使用multimodal-embedding-one-peace-v1

multimodal-embedding-one-peace-v1

input.contents[list]

Array

contents 列表中包含本次需要進行向量計算的所有內容列表,每一個列表可以分別是圖像(image),文本(text)或者音頻(audio)。

哪個公園距離我更近

input.contents[x].image

String

至少包含一項,可以包含多項并重復

本次需要進行向量計算中的圖像內容的 url 鏈接;算法內部會將每張圖像縮放為256x256分辨率。圖像格式目前支持:bmp, jpg, jpeg, png 和 tiff;文件大小不超過5M。

"contents": [

{ "image": "http://a/a.jpg",

"factor": "5.0" },

{ "text": "公園",

"factor": "0.5" },

{ "audio": "http://b/b.wav"}

]

input.contents[x].audio

String

本次需要進行向量計算中的音頻內容的 url 鏈接;當前支持最大音頻時長為15s,超出該時長的音頻內容在 auto-truncation 功能打開的情況下會被截斷繼續計算向量,auto-truncation 功能關閉的時候本次請求會報錯返回;語音格式目前支持 wav, mp3 和 flac;文件大小不超過5M。

input.contents[x].text

String

本次需要進行向量計算中的文本內容;當前支持最大文本長度為70 字,超出該長度的文本內容在 auto-truncation 功能打開的情況下會被截斷繼續計算向量,auto-truncation 功能關閉的時候本次請求會報錯返回;

input.contents[x].factor

Float

本條多模態信息的權重系數,必須為大于 0 的正浮點數,如果不設置默認為1.0,整體按照加權平均計算

parameters.auto_truncation

Bool

在輸入的音頻內容超過 15 秒或者文字內容超出 70 字的情況下,是截斷輸入音頻或者文字繼續計算向量,還是終止計算報錯返回。默認為 false: 過長的輸入會導致請求報錯。

"parameters": {

"auto_truncation": true

}

響應參數

字段

類型

描述

示例值

output.embedding[]

Array

本次請求的算法輸出內容。

[-0.006929283495992422,-0.005336422007530928, ...]

usage.audio.measure

Integer

本次請求輸入語音的計量條數。

"usage":{

"audio":{

"measure":1,

"weight":2

},

"image":{

"measure":1,

"weight":1

},

"text":{

"measure":1,

"weight":1

},

"total_usage":4

}

usage.audio.weight

Integer

本次請求輸入語音的計量權重。

usage.image.measure

Integer

本次請求輸入圖像的計量條數。

usage.image.weight

Integer

本次請求輸入圖像的計量權重。

usage.text.measure

Integer

本次請求輸入文本的計量條數。

usage.text.weight

Integer

本次請求輸入文本的計量權重。

usage.total_usage

Integer

本次請求語音、圖像和文本加權計量后的總計消耗值。

request_id

String

本次請求的系統唯一碼

7574ee8f-38a3-4b1e-9280-11c33ab46e51

Curl示例

curl --location 'https://dashscope.aliyuncs.com/api/v1/services/embeddings/multimodal-embedding/multimodal-embedding' \
--header 'Authorization: Bearer <your_api_key>' \
--header 'Content-Type: application/json' \
--data '{
    "model": "multimodal-embedding-one-peace-v1",
    "input": {
        "contents": [ 
             {
                 "image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/the_starry_night.jpg", 
                 "factor": "5" 
              },
              {
                 "text": "what is your name",
                  "factor": "0.5"
              },
              {
                 "audio": "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/cow.flac"
              }
        ]
    },
    "parameters": {
    		"auto_truncation": true
    }
}'

響應示例

調用成功示例

{
    "output":{
        "embedding": [-0.006929283495992422,-0.005336422007530928, ...]
    },
    "usage": {
        "audio": {
            "measure":1, #音頻條數
            "weight":2   #音頻權重
        },
        "image": {
            "measure":1, #圖像張數
            "weight":1   #圖像權重
        },
        "text": {
            "measure":1, #文本條數
            "weight":1   #文本權重
        },
        "total_usage":4  #加權消耗總數: 音頻(1*2) + 圖像(1*1) + 文本(1*1) = 4
      }
    }
    "request_id":"d89c06fb-46a1-47b6-acb9-bfb17f814969"
}

調用異常示例

在訪問請求出錯的情況下,輸出的結果中會通過 code 和 message 指明出錯原因。

{
    "code":"InvalidApiKey",
    "message":"Invalid API-key provided.",
    "request_id":"fb53c4ec-1c12-4fc4-a580-cdb7c3261fc1"
}

狀態碼說明

大模型服務平臺通用狀態碼請查閱:狀態碼說明