Todos los productos
Search
Centro de documentos

Alibaba Cloud Model Studio:Llamadas a modelos en un subespacio de trabajo

Última actualización: Oct 12, 2026

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

  1. 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.
  2. 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.
  3. 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 qwen-plus. Model Studio también admite otros modelos Qwen. Consulte Modelos para obtener una lista de modelos admitidos y su referencia de API.

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.