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

API詳情

百川

說明

支持的領域 / 任務:aigc

baichuan-13B/baichuan2-7B是由百川智能開發的一個開源的大規模預訓練模型。基于Transformer結構,在大約1.2萬億tokens上訓練的70億參數模型,支持中英雙語,上下文窗口長度為4096。在標準的中文和英文權威benchmark(C-EVAL/MMLU)上均取得同尺寸最好的效果。

模型概覽

模型名

模型簡介

baichuan-7b-v1

百川模型,僅支持prompt格式輸入

baichuan2-7b-chat-v1

baichuan2-13b-chat-v1

百川模型2-7B對話版/百川模型2-13B對話版,支持message和prompt格式輸入

SDK使用

前提條件

文本生成

以下示例展示了調用baichuan模型對一個用戶指令進行響應的代碼。

說明

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

設置API-KEY

export DASHSCOPE_API_KEY=YOUR_DASHSCOPE_API_KEY

通過message訪問

from http import HTTPStatus
import dashscope


def call_with_messages():
    messages = [{'role': 'system', 'content': 'You are a helpful assistant.'},
                {'role': 'user', 'content': '介紹下故宮?'}]
    response = dashscope.Generation.call(
        model='baichuan2-7b-chat-v1',
        messages=messages,
        result_format='message',  # set the result to be "message" format.
    )
    if response.status_code == HTTPStatus.OK:
        print(response)
    else:
        print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
            response.request_id, response.status_code,
            response.code, response.message
        ))


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

import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.MessageManager;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.JsonUtils;

public class Main {
  public static void usage()
      throws NoApiKeyException, ApiException, InputRequiredException {
    MessageManager msgManager = new MessageManager(10);
    Message systemMsg = Message.builder().role(Role.SYSTEM.getValue()).content("You are a helpful assistant.").build();
    Message userMsg = Message.builder().role(Role.USER.getValue()).content("介紹下杭州").build();
    msgManager.add(systemMsg);
    msgManager.add(userMsg);

    GenerationParam param = GenerationParam.builder()
        .model("baichuan2-7b-chat-v1")
        .messages(msgManager.get())
        .build();
    Generation gen = new Generation();
    GenerationResult result = gen.call(param);
    System.out.println(JsonUtils.toJson(result));
  }

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

通過prompt訪問

from http import HTTPStatus
import dashscope


def call_with_prompt():
    prompt = '介紹下故宮'
    rsp = dashscope.Generation.call(model='baichuan2-7b-chat-v1',
                                    prompt=prompt)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output)
        print(rsp.usage)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))


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

import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.JsonUtils;


public class Main{
  public static void usage()
      throws NoApiKeyException, ApiException, InputRequiredException {
    Generation gen = new Generation();
    GenerationParam param = GenerationParam
    .builder()
    .model("baichuan2-7b-chat-v1")
    .prompt("介紹下杭州")
    .build();
    GenerationResult result = gen.call(param);
    System.out.println(JsonUtils.toJson(result));
  }

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

通過流式訪問

from http import HTTPStatus
from dashscope import Generation


def call_with_stream():
    messages = [
        {'role': 'user', 'content': '介紹下故宮?'}]
    responses = Generation.call(
        model='baichuan2-7b-chat-v1',
        messages=messages,
        result_format='message',  # set the result to be "message" format.
        stream=True,
        incremental_output=True  # get streaming output incrementally
    )
    full_content = ''  # with incrementally we need to merge output.
    for response in responses:
        if response.status_code == HTTPStatus.OK:
            full_content = response.output.choices[0]['message']['content']
            print(response)
        else:
            print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
                response.request_id, response.status_code,
                response.code, response.message
            ))
    print('Full response:\n' + full_content)


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

import java.util.Arrays;
import java.util.concurrent.Semaphore;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.aigc.generation.models.QwenParam;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.ResultCallback;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.JsonUtils;
import io.reactivex.Flowable;

public class Main {
  public static void streamCallWithMessage()
      throws NoApiKeyException, ApiException, InputRequiredException {
    Generation gen = new Generation();
    Message userMsg = Message
    .builder()
    .role(Role.USER.getValue())
    .content("介紹下杭州?")
    .build();
    QwenParam param =
        QwenParam.builder().model("baichuan2-7b-chat-v1").messages(Arrays.asList(userMsg))
            .resultFormat(QwenParam.ResultFormat.MESSAGE)
            .topP(0.8)
            // get streaming output incrementally
            .incrementalOutput(true)
            .build();
    Flowable<GenerationResult> result = gen.streamCall(param);
    StringBuilder fullContent = new StringBuilder();
    result.blockingForEach(message -> {
      fullContent.append(message.getOutput().getChoices().get(0).getMessage().getContent());
      System.out.println(JsonUtils.toJson(message));
    });
    System.out.println("Full content: \n" + fullContent.toString());
  }

  public static void streamCallWithCallback()
      throws NoApiKeyException, ApiException, InputRequiredException,InterruptedException {
    Generation gen = new Generation();
    Message userMsg = Message
    .builder()
    .role(Role.USER.getValue())
    .content("介紹下杭州?")
    .build();
    QwenParam param = QwenParam
    .builder()
    .model("baichuan2-7b-chat-v1")
    .resultFormat(QwenParam.ResultFormat.MESSAGE)
    .messages(Arrays.asList(userMsg))
    .topP(0.8)
     // get streaming output incrementally
    .incrementalOutput(true)
    .build();
    Semaphore semaphore = new Semaphore(0);
    StringBuilder fullContent = new StringBuilder();
    gen.streamCall(param, new ResultCallback<GenerationResult>() {

      @Override
      public void onEvent(GenerationResult message) {
        fullContent.append(message.getOutput().getChoices().get(0).getMessage().getContent());
        System.out.println(message);
      }
      @Override
      public void onError(Exception err){
        System.out.println(String.format("Exception: %s", err.getMessage()));
        semaphore.release();
      }

      @Override
      public void onComplete(){
        System.out.println("Completed");
        semaphore.release();
      }
      
    });
    semaphore.acquire();
    System.out.println("Full content: \n" + fullContent.toString());
  }
  public static void main(String[] args) {
    try {
      streamCallWithMessage();
    } catch (ApiException | NoApiKeyException | InputRequiredException e) {
      System.out.println(e.getMessage());
    }
    try {
      streamCallWithCallback();
    } catch (ApiException | NoApiKeyException | InputRequiredException | InterruptedException e) {
      System.out.println(e.getMessage());
    }
    System.exit(0);
  }
}

參數配置

參數

類型

默認值

說明

model

string

-

目前支持 baichuan-7b-v1、baichuan2-7b-chat-v1

prompt

string

-

用戶當前輸入的期望模型執行指令。

stream(可選)

bool

False

是否使用流式輸出。當以stream模式輸出結果時,接口返回結果為generator,需要通過迭代獲取結果,默認每次輸出為當前生成的整個序列,最后一次輸出為最終全部生成結果,可以通過參數incremental_output為False改變輸出模式為非增量輸出。

incremental_output(可選)

bool

False

控制流式輸出模式,即后面內容會包含已經輸出的內容;設置為True,將開啟增量輸出模式,后面輸出不會包含已經輸出的內容,您需要自行拼接整體輸出,參考流式輸出示例代碼。

messages

list dict

-

用戶輸入的內容,dict內主要包含2個key:role和content,其中role支持user、assistant、system,content為對應role的text輸入。目前僅baichuan2-7b-chat-v1、baichuan2-13b-chat-v1支持

result_format

string

-

用戶返回的內容類型,默認為text,當輸入格式為messages時可配置為message。

返回結果

  • 非流式返回結果示例

{
    "status_code": 200,
    "request_id": "dcb8fe29-6b2a-9797-8e35-f81b4aa7b33c",
    "code": "",
    "message": "",
    "output": {
        "text": "介紹下故宮\n故宮又稱紫禁城,位于北京中軸線的中心,占地72萬平方米。據史料記載,是明朝、清朝兩代帝王的皇宮。自明永樂建成以來,至今已有六百多年的歷史。 故宮的建筑按照它的布局和使用功能分成六大學堂,即外朝、內廷。 外朝,包括了太和殿、中和殿和保和殿,這便是人們常說的“三大殿” 內廷以乾清宮、交泰殿、坤寧宮后三宮為中心,以及東西六宮和御花園,是皇帝和皇后居住生活之所。 故宮,自明朝以來居住了24位皇帝,成為明清兩朝的皇宮,它也是世界上現存規模最大、保存最為完整的木質結構的古建筑之一,是中國的象征。 它的建筑和陳列藝術的價值,也是中華民族的驕傲! 故宮位于北京城的中心,舊稱“紫禁城”,是明、清兩代的皇宮,也是我國現存最大最完整的古建筑群,共有殿宇8000多間。 故宮始建于公元1406年,1420年基本建成,歷時14年,是明成祖朱棣下令所建。故宮的設計者是明太祖朱元璋的孫子、明成祖朱棣,明代著名建筑學家、解剖學家、天文學家提出了“高臺建筑”和“立體規劃”的設計思想,所以,故宮是中國古代建筑史上的一個偉大創舉。"
    },
    "usage": {
        "input_tokens": 5,
        "output_tokens": 470
    }
}
  • 流式返回結果示例

{"status_code": 200, "request_id": "99bc52af-e64f-9a9f-9f47-6673bc99e828", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "西紅柿牛腩是一道", "content_type": "text"}}]}, "usage": {"input_tokens": 12, "output_tokens": 3}}
{"status_code": 200, "request_id": "99bc52af-e64f-9a9f-9f47-6673bc99e828", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": "西紅柿牛腩是一道美味可口的菜肴,以下是制作西紅柿牛肉", "content_type": "text"}}]}, "usage": {"input_tokens": 12, "output_tokens": 11}}
... ... ... ...
... ... ... ...
{"status_code": 200, "request_id": "99bc52af-e64f-9a9f-9f47-6673bc99e828", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "stop", "message": {"role": "assistant", "content": "西紅柿牛腩是一道美味可口的菜肴,以下是制作西紅柿牛肉的步驟:\n\n所需材料: \n- 牛腩 500克\n - 大西紅柿 4個\n -洋蔥 1個 (切碎)\n -大蒜 3瓣 ,切碎\n -生姜 2片\n -鹽 適量\n -黑胡椒 少許\n -糖 少量\n -醬油 適當\n -水 足夠\n -香菜 若干\n -油 適當的量\n -面粉 適量的量(可選) 用于裹牛肉\n -其他蔬菜(如胡蘿卜、土豆等)可根據個人口味添加\n \n步驟如下: \n1. 將牛腩切成3-4厘米見方的塊,用面粉或玉米淀粉裹好,備用。\n2. 在鍋中加入適量的油,油熱后加入洋蔥、大蒜和生姜,翻炒至洋蔥變透明。 注意不要炒糊。 \n3.加入牛肉塊。用中火將牛肉兩面煎至微黃色。煎好的牛肉取出備用,鍋中油留用。 (如果之前選擇不加面粉,此步驟可以直接進行) 如果牛肉比較大塊的話,這一步可能需要翻煎幾次,確保牛肉熟透。 \n4.在同一個鍋中加入切好的西紅柿塊兒,翻炒均勻,然后加入適量的水,將西紅柿煮爛。加入糖和醬油,攪拌均勻。如果西紅柿比較酸,可以適當加入一些糖來平衡口感。 \n5.將煎過的牛肉重新加入鍋中,轉小火慢慢燉煮,直到牛肉變得非常軟爛,湯汁變得濃稠。期間可以適時嘗味,根據個人口味加鹽和黑胡椒粉。 \n6.燉好的西紅柿牛楠,撒上切好的香菜,即可出鍋。可以搭配米飯或者面食食用。", "content_type": "text"}}]}, "usage": {"input_tokens": 12, "output_tokens": 366}}
  • 返回參數說明

返回參數

類型

說明

status_code

int

200(HTTPStatus.OK)表示請求成功,否則表示請求失敗,可以通過code獲取錯誤碼,通過message字段獲取錯誤詳細信息。

request_Id

string

系統生成的標志本次調用的id。

code

string

表示請求失敗,表示錯誤碼,成功忽略。

message

string

失敗,表示失敗詳細信息,成功忽略。

output

dict

調用結果信息,對百川模型,包含輸出text。

text

string

模型生成回復。

usage

dict

計量信息,表示本次請求計量數據,當前模型無計量信息,此處為默認值。

input_tokens

int

用戶輸入文本轉換成Token后的長度。

output_tokens

int

模型生成回復轉換為Token后的長度。

HTTP調用接口

功能描述

百川模型同時支持 HTTP 接口調用來完成客戶的響應,詳情如下:

前提條件

提交接口調用

POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation

入參描述

傳參方式

字段

類型

必選

描述

示例值

Header

Content-Type

String

請求類型:application/json

application/json

Authorization

String

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

Bearer d1**2a

X-DashScope-SSE

String

跟Accept: text/event-stream 二選一即可啟用SSE響應

enable

Body

model

String

指明需要調用的模型,固定值baichuan-7b-v1 、baichuan2-7b-chat-v1

baichuan-7b-v1

input.prompt

String

是,二中格式選其一

文本內容,支持中英文。

登鸛雀樓->王之渙\n夜雨寄北->

input.messages

List

用戶輸入的內容,dict內主要包含2個key:role和content,其中role支持user、assistant、system,content為對應role的text輸入。目前僅baichuan2-7b-chat-v1支持

[

{"role": "system", "content": "You are a helpful assistant."},

{"role": "user",

"content": "你好,請介紹一下故宮"}

]

parameters.incremental_output

Bool

用于控制流式輸出模式,默認False,即后面內容會包含已經輸出的內容;設置為True,將開啟增量輸出模式,后面輸出不會包含已經輸出的內容,您需要自行拼接整體輸出,參考流式輸出示例代碼。

parameters.result_format

string

用戶返回的內容類型,默認為text,當輸入格式為messages時可配置為message。

message

出參描述

字段

類型

描述

示例值

output.text

String

本次請求的算法輸出內容,result_format為text時的格式。

我建議你去頤和園

output.choices.message

List

本次請求的算法輸出內容,result_format為message時的格式。

"message": {

"role": "assistant",

"content_type": "text",

"content": "故宮,位于... ... 宮殿和建筑。"}

output.choices.finish_reason 或者

output.finish_reason

String

有三種情況:正在生成時為null,生成結束時如果由于停止token導致則為stop,生成結束時如果因為生成長度過長導致則為length。

stop

request_id

String

本次請求的系統唯一碼。

7574ee8f-38a3-4b1e-9280-

11c33ab46e51

usage.output_tokens

Integer

本次請求算法輸出內容的 token 數目,目前僅baichuan2-7b-chat-v1和baichuan2-13b-chat-v1支持。

104

usage.input_tokens

Integer

本次請求用戶輸入內容的 token 數目,目前僅baichuan2-7b-chat-v1和baichuan2-13b-chat-v1支持。

41

請求示例(SSE關閉)

以下示例展示通過CURL命令來調用baichuan2-7b-chat-v1模型的腳本。

說明

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

curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation' \
--header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY>' \
--header 'Content-Type: application/json' \
--data '{
    "model": "baichuan2-13b-chat-v1",
    "input":{
        "messages":[      
            {
                "role": "system",
                "content": "You are a helpful assistant."
            },
            {
                "role": "user",
                "content": "你好,請介紹一下故宮"
            }
        ]
    },
    "parameters": {
        "result_format": "message"
    }
}'

響應示例(SSE關閉)

{
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content_type": "text",
                    "content": "故宮,位于中國北京市中心,是中國明清兩代的皇家宮殿,也是世界上現存規模最大、保存最為完整的木質結構古建筑之一。故宮始建于明成祖永樂四年(1406年),歷時15年建成。它是明朝和清朝兩代皇帝的皇家居所,共有24位皇帝在此居住和執政。\n\n故宮占地面積72萬平方米,建筑面積約10萬平方米。它共有宮殿建筑990多座,房屋8960間。整個建筑群按照南北中軸線布局,分為外朝和內廷兩部分。外朝天子殿、中和殿和保和殿組成,是皇帝舉行盛大典禮和處理政務的地方;內庭包括乾清宮、坤寧宮和儲秀宮等,為皇帝和皇后居住的地方,同時也是皇帝處理日常政務的場所。此外,故宮還有御花園、東西六宮等眾多宮殿和建筑。"
                }
            }
        ]
    },
    "usage": {
        "output_tokens": 180,
        "input_tokens": 11
    },
    "request_id": "3719bbfa-0ab8-997d-9207-21355f7320b3"
}

請求示例(SSE開啟)

以下示例展示通過CURL命令來調用baichuan2-7b-chat-v1模型的腳本。

說明

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

curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation' \
--header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY>' \
--header 'Content-Type: application/json' \
--header 'X-DashScope-SSE: enable' \
--data '{
    "model": "baichuan2-13b-chat-v1",
    "input":{
        "messages":[      
            {
                "role": "system",
                "content": "You are a helpful assistant."
            },
            {
                "role": "user",
                "content": "你好,請介紹一下故宮"
            }
        ]
    },
    "parameters": {
        "result_format": "message"
    }
}'

響應示例(SSE開啟)

id:1
event:result
data:{"output":{"finish_reason":"null","text":"\n "},"usage":{"output_tokens":3,"input_tokens":15},"request_id":"1117fb64-5dd9-9df0-a5ca-d7ee0e97032d"}

id:2
event:result
data:{"output":{"finish_reason":"null","text":"\n 故宮(The Forbidden City)"},"usage":{"output_tokens":12,"input_tokens":15},"request_id":"1117fb64-5dd9-9df0-a5ca-d7ee0e97032d"}

... ... ... ...
... ... ... ...

id:25
event:result
data:{"output":{"finish_reason":"stop","text":"\n 故宮(The Forbidden City)是中國明清兩代的皇宮,位于北京市中心,是世界上最大、保存最為完整的木質結構古建筑之一。故宮于明成祖永樂四年(1406年)開始建設,歷經14年方告完成,共有9800余間房屋、300多座建筑。故宮以其豐富的文化遺產、精美的建筑藝術和悠久的歷史而聞名于世界。\n\n故宮是中國古代宮殿建筑之精華,其建筑風格、布局嚴謹、精美、華麗,色彩斑斕,富麗堂皇。故宮也是世界上保存最完整、規模最宏大的古代木質結構建筑群之一,其建筑精美、色彩斑斕,富有變化和層次感,堪稱中國古代建筑藝術的杰作。\n\n除此之外,故宮還有眾多珍貴的文物和藝術品,包括古代瓷器、書畫、玉器、金銀器等,是中國和世界文化遺產的重要代表之一。"},"usage":{"output_tokens":190,"input_tokens":12},"request_id":"1117fb64-5dd9-9df0-a5ca-d7ee0e97032d"}
}

異常響應示例

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

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

狀態碼說明

DashScope通用狀態碼請查閱:返回狀態碼說明