Utilizando Qwen-Plus como ejemplo, este tema explica cómo invocar un modelo a través de una API en un subespacio de trabajo (un espacio de trabajo no predeterminado).
Escenarios
- Controle qué modelos pueden llamar usuarios específicos: La clave de API para el espacio de trabajo predeterminado puede llamar a todos los modelos, lo que le otorga permisos excesivos. Para controlar qué modelos puede llamar un usuario RAM, agregue el usuario a un subespacio de trabajo, otorgue permisos solo para los modelos necesarios y haga que utilicen la clave de API de ese espacio de trabajo.
- Asigne costos de llamada al modelo: Utilizar el espacio de trabajo predeterminado para múltiples servicios o escenarios dificulta distinguir los costos de llamada al modelo para cada uno. Cree un subespacio de trabajo separado para cada servicio o escenario para generar facturas separadas y simplificar la asignación de costos.
Requisitos previos
- Obtenga la clave de API para el subespacio de trabajo: Para llamar a las API de modelos grandes, cree una clave de API en el subespacio de trabajo y configúrela como una variable de entorno llamada
DASHSCOPE_API_KEY. - Establezca permisos de llamada al modelo (necesario para modelos estándar): Para llamar a un modelo estándar, como
qwen-plus, con la clave de API de un subespacio de trabajo, primero debe establecer permisos de llamada al modelo para ese subespacio de trabajo. - Seleccione un lenguaje de desarrollo: Seleccione un lenguaje y SDK con el que esté familiarizado para llamar a las API de modelos grandes.
Llamada al modelo
OpenAI
Singapore
SDK base_url: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1
Endpoint HTTP: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions
China (Beijing)
SDK base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
Endpoint HTTP: POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
Este ejemplo muestra cómo llamar al modelo estándar qwen-plus en un subespacio de trabajo utilizando el método compatible con OpenAI. A diferencia de las llamadas en el espacio de trabajo predeterminado, debe utilizar la clave de API del subespacio de trabajo.
Python (SDK)
import os
from openai import OpenAI
client = OpenAI(
# If the environment variable is not set, replace the following line with your Model Studio API key: api_key="sk-xxx"
# The API keys for the Singapore and Beijing regions are different. Replace WorkspaceId with your actual workspace ID. To get an API key, see https://www.alibabacloud.com/help/model-studio/get-api-key
api_key=os.getenv("DASHSCOPE_API_KEY"),
# This base_url is for the Singapore region. Replace WorkspaceId with your actual workspace ID. For models in the Beijing region, use: https://dashscope.aliyuncs.com/compatible-mode/v1
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
# This example uses qwen-plus. You can replace it with another model name as needed. For a list of models, see: https://www.alibabacloud.com/help/model-studio/getting-started/models
model="qwen-plus",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who are you?"},
],
# The enable_thinking parameter controls the thinking process for Qwen3 models (default is True for the open source version, False for the commercial version).
# When using an open source Qwen3 model without enabling streaming output, uncomment the following line to avoid errors.
# extra_body={"enable_thinking": False},
)
print(completion.model_dump_json())
Java (SDK)
// This example uses OpenAI SDK v2.6.0.
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.ChatCompletion;
import com.openai.models.chat.completions.ChatCompletionCreateParams;
public class Main {
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.builder()
// The API keys for the Singapore and Beijing regions are different. Replace WorkspaceId with your actual workspace ID. To get an API key, see https://www.alibabacloud.com/help/model-studio/get-api-key
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// This base_url is for the Singapore region. Replace WorkspaceId with your actual workspace ID. For models in the Beijing region, use: https://dashscope.aliyuncs.com/compatible-mode/v1
.baseUrl("https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1")
.build();
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
.addUserMessage("Who are you")
.model("qwen-plus")
.build();
try {
ChatCompletion chatCompletion = client.chat().completions().create(params);
System.out.println(chatCompletion);
} catch (Exception e) {
System.err.println("Error occurred: " + e.getMessage());
e.printStackTrace();
}
}
}
Node.js (SDK)
import OpenAI from "openai";
const openai = new OpenAI(
{
// If the environment variable is not set, replace the following line with your Model Studio API key: apiKey: "sk-xxx",
// The API keys for the Singapore and Beijing regions are different. Replace WorkspaceId with your actual workspace ID. To get an API key, see https://www.alibabacloud.com/help/model-studio/get-api-key
apiKey: process.env.DASHSCOPE_API_KEY,
// This baseURL is for the Singapore region. Replace WorkspaceId with your actual workspace ID. For models in the Beijing region, use: https://dashscope.aliyuncs.com/compatible-mode/v1
baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
}
);
async function main() {
const completion = await openai.chat.completions.create({
model: "qwen-plus", // This example uses qwen-plus. You can replace it with another model name as needed. For a list of models, see: https://www.alibabacloud.com/help/model-studio/getting-started/models
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Who are you?" }
],
});
console.log(JSON.stringify(completion))
}
main();
Go (SDK)
package main
import (
"context"
"os"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
// The API keys for the Singapore and Beijing regions are different. Replace WorkspaceId with your actual workspace ID. To get an API key, see https://www.alibabacloud.com/help/model-studio/get-api-key
option.WithAPIKey(os.Getenv("DASHSCOPE_API_KEY")), // defaults to os.LookupEnv("OPENAI_API_KEY")
// This base URL is for the Singapore region. Replace WorkspaceId with your actual workspace ID. For models in the Beijing region, use: https://dashscope.aliyuncs.com/compatible-mode/v1/
option.WithBaseURL("https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/"),
)
chatCompletion, err := client.Chat.Completions.New(
context.TODO(), openai.ChatCompletionNewParams{
Messages: openai.F(
[]openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Who are you"),
},
),
Model: openai.F("qwen-plus"),
},
)
if err != nil {
panic(err.Error())
}
println(chatCompletion.Choices[0].Message.Content)
}
C# (HTTP)
using System.Net.Http.Headers;
using System.Text;
class Program
{
private static readonly HttpClient httpClient = new HttpClient();
static async Task Main(string[] args)
{
// If the environment variable is not set, replace the following line with your Model Studio API key: string? apiKey = "sk-xxx";
// The API keys for the Singapore and Beijing regions are different. Replace WorkspaceId with your actual workspace ID. To get an API key, see https://www.alibabacloud.com/help/model-studio/get-api-key
string? apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY");
if (string.IsNullOrEmpty(apiKey))
{
Console.WriteLine("API key is not set. Ensure the 'DASHSCOPE_API_KEY' environment variable is set.");
return;
}
// This URL is for the Singapore region. Replace WorkspaceId with your actual workspace ID. For models in the Beijing region, use: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
string url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions";
// This example uses qwen-plus. You can replace it with another model name as needed. For a list of models, see: https://www.alibabacloud.com/help/model-studio/getting-started/models
string jsonContent = @"{
""model"": ""qwen-plus"",
""messages"": [
{
""role"": ""system"",
""content"": ""You are a helpful assistant.""
},
{
""role"": ""user"",
""content"": ""Who are you?""
}
]
}";
string result = await SendPostRequestAsync(url, jsonContent, apiKey);
Console.WriteLine(result);
}
private static async Task<string> SendPostRequestAsync(string url, string jsonContent, string apiKey)
{
using (var content = new StringContent(jsonContent, Encoding.UTF8, "application/json"))
{
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await httpClient.PostAsync(url, content);
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadAsStringAsync();
}
else
{
return $"Request failed: {response.StatusCode}";
}
}
}
}
PHP (HTTP)
<?php
// This URL is for the Singapore region. Replace WorkspaceId with your actual workspace ID. For models in the Beijing region, use: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
$url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions';
// If the environment variable is not set, replace the following line with your Model Studio API key: $apiKey = "sk-xxx";
// The API keys for the Singapore and Beijing regions are different. Replace WorkspaceId with your actual workspace ID. To get an API key, see https://www.alibabacloud.com/help/model-studio/get-api-key
$apiKey = getenv('DASHSCOPE_API_KEY');
$headers = [
'Authorization: Bearer '.$apiKey,
'Content-Type: application/json'
];
$data = [
// This example uses qwen-plus. You can replace it with another model name as needed. For a list of models, see: https://www.alibabacloud.com/help/model-studio/getting-started/models
"model" => "qwen-plus",
"messages" => [
[
"role" => "system",
"content" => "You are a helpful assistant."
],
[
"role" => "user",
"content" => "Who are you?"
]
]
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Curl error: ' . curl_error($ch);
}
curl_close($ch);
echo $response;
?>
curl (HTTP)
Las claves de API para las regiones de Singapore y Beijing son diferentes. Reemplace WorkspaceId con su ID de espacio de trabajo real. Para obtener una clave de API, consulte https://www.alibabacloud.com/help/model-studio/get-api-key. Si utiliza un modelo en la región de Beijing, reemplace la URL con: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-plus",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Who are you?"
}
]
}'
DashScope
Región de Singapore
Endpoint HTTP:
- Modelos de lenguaje grande Qwen:
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation - Modelos Qwen-VL/OCR:
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
El base_url para llamadas SDK es:
Python
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
Java
- Método 1:
import com.alibaba.dashscope.protocol.Protocol;
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1");
- Método 2:
import com.alibaba.dashscope.utils.Constants;
Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
China (Beijing)
Endpoint HTTP:
- Modelos de lenguaje grande Qwen:
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation - Modelos Qwen-VL/Audio:
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
No necesita configurar base_url para llamadas con SDK.
Este ejemplo muestra cómo llamar al modelo qwen-plus en un subespacio de trabajo utilizando DashScope. La diferencia clave con respecto al uso del espacio de trabajo predeterminado es que debe utilizar la clave de API del subespacio de trabajo.
Python (SDK)
import os
import dashscope
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
# The preceding line sets the base_url for the Singapore region. Replace WorkspaceId with your actual workspace ID. If you use a model in the China (Beijing) region, replace the base_url with: https://dashscope.aliyuncs.com/api/v1
messages = [
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': 'Who are you?'}
]
response = dashscope.Generation.call(
# If the environment variable is not set, replace the following line with your Model Studio API key: api_key="sk-xxx"
# The API keys for the Singapore and China (Beijing) regions are different. To get an API key, see: https://www.alibabacloud.com/help/model-studio/get-api-key
api_key=os.getenv('DASHSCOPE_API_KEY'),
model="qwen-plus", # This example uses qwen-plus. You can replace it with another model name as needed. For a list of models, see: https://www.alibabacloud.com/help/model-studio/getting-started/models
messages=messages,
result_format='message'
)
print(response)
Java (SDK)
// DashScope SDK v2.12.0 or later is recommended.
import java.util.Arrays;
import java.lang.System;
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.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 com.alibaba.dashscope.protocol.Protocol;
public class Main {
public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1");
// The preceding line sets the base_url for the Singapore region. Replace WorkspaceId with your actual workspace ID. If you use a model in the China (Beijing) region, replace the base_url with: https://dashscope.aliyuncs.com/api/v1
Message systemMsg = Message.builder()
.role(Role.SYSTEM.getValue())
.content("You are a helpful assistant.")
.build();
Message userMsg = Message.builder()
.role(Role.USER.getValue())
.content("Who are you?")
.build();
GenerationParam param = GenerationParam.builder()
// If the environment variable is not set, replace the following line with your Model Studio API key: .apiKey("sk-xxx")
// The API keys for the Singapore and China (Beijing) regions are different. To get an API key, see: https://www.alibabacloud.com/help/model-studio/get-api-key
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// This example uses qwen-plus. You can replace it with another model name as needed. For a list of models, see: https://www.alibabacloud.com/help/model-studio/getting-started/models
.model("qwen-plus")
.messages(Arrays.asList(systemMsg, userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.build();
return gen.call(param);
}
public static void main(String[] args) {
try {
GenerationResult result = callWithMessage();
System.out.println(JsonUtils.toJson(result));
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
// Use a logging framework to record the exception.
System.err.println("An error occurred while calling the generation service: " + e.getMessage());
}
System.exit(0);
}
}
PHP (HTTP)
<?php
// The following URL is for the Singapore region. Replace WorkspaceId with your actual workspace ID. If you use a model in the China (Beijing) region, replace the URL with: https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
$url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation";
// The API keys for the Singapore and China (Beijing) regions are different. To get an API key, see: https://www.alibabacloud.com/help/model-studio/get-api-key
$apiKey = getenv('DASHSCOPE_API_KEY');
$data = [
// This example uses qwen-plus. You can replace it with another model name as needed. For a list of models, see: https://www.alibabacloud.com/help/model-studio/getting-started/models
"model" => "qwen-plus",
"input" => [
"messages" => [
[
"role" => "system",
"content" => "You are a helpful assistant."
],
[
"role" => "user",
"content" => "Who are you?"
]
]
],
"parameters" => [
"result_format" => "message"
]
];
$jsonData = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer $apiKey",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpCode == 200) {
echo "Response: " . $response;
} else {
echo "Error: " . $httpCode . " - " . $response;
}
curl_close($ch);
?>
Node.js (HTTP)
DashScope no proporciona un SDK de Node.js. Para realizar llamadas utilizando el SDK de Node.js de OpenAI, consulte la sección Compatible con OpenAI.
import fetch from 'node-fetch';
// The API keys for the Singapore and China (Beijing) regions are different. To get an API key, see: https://www.alibabacloud.com/help/model-studio/get-api-key
const apiKey = process.env.DASHSCOPE_API_KEY;
const data = {
model: "qwen-plus", // This example uses qwen-plus. You can replace it with another model name as needed. For a list of models, see: https://www.alibabacloud.com/help/model-studio/getting-started/models
input: {
messages: [
{
role: "system",
content: "You are a helpful assistant."
},
{
role: "user",
content: "Who are you?"
}
]
},
parameters: {
result_format: "message"
}
};
// The following URL is for the Singapore region. Replace WorkspaceId with your actual workspace ID. If you use a model in the China (Beijing) region, replace the URL with: https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
fetch('https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation', {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
console.log(JSON.stringify(data));
})
.catch(error => {
console.error('Error:', error);
});
C# (HTTP)
using System.Net.Http.Headers;
using System.Text;
class Program
{
private static readonly HttpClient httpClient = new HttpClient();
static async Task Main(string[] args)
{
// If the environment variable is not set, replace the following line with your Model Studio API key: string? apiKey = "sk-xxx";
// The API keys for the Singapore and China (Beijing) regions are different. To get an API key, see: https://www.alibabacloud.com/help/model-studio/get-api-key
string? apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY");
if (string.IsNullOrEmpty(apiKey))
{
Console.WriteLine("API key not set. Ensure the 'DASHSCOPE_API_KEY' environment variable is set.");
return;
}
// Set the request URL and content.
// The following URL is for the Singapore region. Replace WorkspaceId with your actual workspace ID. If you use a model in the China (Beijing) region, replace the URL with: https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
string url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation";
// This example uses qwen-plus. You can replace it with another model name as needed. For a list of models, see: https://www.alibabacloud.com/help/model-studio/getting-started/models
string jsonContent = @"{
""model"": ""qwen-plus"",
""input"": {
""messages"": [
{
""role"": ""system"",
""content"": ""You are a helpful assistant.""
},
{
""role"": ""user"",
""content"": ""Who are you?""
}
]
},
""parameters"": {
""result_format"": ""message""
}
}";
// Send the request and get the response.
string result = await SendPostRequestAsync(url, jsonContent, apiKey);
// Print the result.
Console.WriteLine(result);
}
private static async Task<string> SendPostRequestAsync(string url, string jsonContent, string apiKey)
{
using (var content = new StringContent(jsonContent, Encoding.UTF8, "application/json"))
{
// Set the request headers.
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// Send the request and get the response.
HttpResponseMessage response = await httpClient.PostAsync(url, content);
// Process the response.
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadAsStringAsync();
}
else
{
return $"Request failed: {response.StatusCode}";
}
}
}
}
Go (HTTP)
DashScope no proporciona un SDK de Go. Para realizar llamadas utilizando el SDK de Go de OpenAI, consulte la sección Compatible con OpenAI.
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"log"
"net/http"
"os"
)
type Message struct {
Role string `json:"role"`
Content string `json:"content"`
}
type Input struct {
Messages []Message `json:"messages"`
}
type Parameters struct {
ResultFormat string `json:"result_format"`
}
type RequestBody struct {
Model string `json:"model"`
Input Input `json:"input"`
Parameters Parameters `json:"parameters"`
}
func main() {
// Create an HTTP client.
client := &http.Client{}
// Build the request body.
requestBody := RequestBody{
// This example uses qwen-plus. You can replace it with another model name as needed. For a list of models, see: https://www.alibabacloud.com/help/model-studio/getting-started/models
Model: "qwen-plus",
Input: Input{
Messages: []Message{
{
Role: "system",
Content: "You are a helpful assistant.",
},
{
Role: "user",
Content: "Who are you?",
},
},
},
Parameters: Parameters{
ResultFormat: "message",
},
}
jsonData, err := json.Marshal(requestBody)
if err != nil {
log.Fatal(err)
}
// Create a POST request.
// The following URL is for the Singapore region. Replace WorkspaceId with your actual workspace ID. If you use a model in the China (Beijing) region, replace the URL with: https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
req, err := http.NewRequest("POST", "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation", bytes.NewBuffer(jsonData))
if err != nil {
log.Fatal(err)
}
// Set the request headers.
// If the environment variable is not set, replace the following line with your Model Studio API key: apiKey := "sk-xxx"
// The API keys for the Singapore and China (Beijing) regions are different. To get an API key, see: https://www.alibabacloud.com/help/model-studio/get-api-key
apiKey := os.Getenv("DASHSCOPE_API_KEY")
req.Header.Set("Authorization", "Bearer "+apiKey)
req.Header.Set("Content-Type", "application/json")
// Send the request.
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
// Read the response body.
bodyText, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
// Print the response content.
fmt.Printf("%s\n", bodyText)
}
curl (HTTP)
Las claves de API para las regiones de Singapore y China (Beijing) son diferentes. Obtenga una clave de API.
La siguiente URL corresponde a la región de Singapur. Reemplace WorkspaceId con su ID de espacio de trabajo real. Si utiliza un modelo en la región de China (Beijing), reemplace la URL con: https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
curl --location "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "qwen-plus",
"input":{
"messages":[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Who are you?"
}
]
},
"parameters": {
"result_format": "message"
}
}'
Códigos de error
Si una llamada al modelo devuelve un error, consulte Mensajes de error.
Siguientes pasos
Explorar más modelos | El código de ejemplo utiliza el modelo |
Uso avanzado | El código de ejemplo demuestra un escenario básico de preguntas y respuestas. La descripción general de generación de texto cubre funciones avanzadas de la API de Qwen, incluyendo salida en streaming, salida estructurada y llamada a funciones. |