全部产品
Search
文档中心

Alibaba Cloud Model Studio:Pengenalan maksud

更新时间:Oct 21, 2025

Model pengenalan maksud Qwen secara cepat dan akurat mengurai maksud pengguna dalam hitungan milidetik serta memilih alat yang sesuai untuk menyelesaikan kueri pengguna.

Penting

Dokumen ini hanya berlaku untuk Wilayah China (Beijing). Untuk menggunakan model, Anda harus menggunakan Kunci API dari wilayah China (Beijing).

Model yang didukung

Model

Context window

Masukan maksimum

Keluaran maksimum

Harga masukan

Harga keluaran

(Token)

(Juta token)

tongyi-intent-detect-v3

8.192

8.192

1.024

$0,058

$0,144

Penggunaan

Prasyarat

Anda harus memperoleh Kunci API dan mengatur Kunci API sebagai Variabel lingkungan. Jika Anda menggunakan OpenAI SDK atau DashScope SDK untuk membuat panggilan, Anda juga harus menginstal SDK.

Keluaran informasi maksud dan pemanggilan fungsi

Untuk mengaktifkan model pengenalan maksud mengeluarkan informasi maksud dan pemanggilan fungsi, atur Pesan Sistem sebagai berikut:

Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. Anda dapat memanggil satu atau lebih alat untuk membantu dengan kueri pengguna. Alat yang dapat Anda gunakan adalah sebagai berikut:
{Informasi alat}
Respons dalam INTENT_MODE.

Tentukan Respons dalam INTENT_MODE. dalam Pesan Sistem dan sertakan informasi tentang alat yang tersedia. Format untuk informasi alat adalah:

[{
    "name": "Nama alat 1",
    "description": "Deskripsi alat 1",
    "parameters": {
        "type": "Tipe parameter, biasanya objek",
        "properties": {
            "parameter_1": {
                "description": "Deskripsi parameter_1",
                "type": "Tipe parameter_1",
                "default": "Nilai default parameter_1"
            },
            ...
            "parameter_n": {
                "description": "Deskripsi parameter_n",
                "type": "Tipe parameter_n",
                "default": "Nilai default parameter_n"
            }
        },
        "required": [
        "parameter_1",
        ...
        "parameter_n"
    ]
    },
},
...
{
    "name": "Nama alat n",
    "description": "Deskripsi alat n",
    "parameters": {
        "type": "Tipe parameter, biasanya objek",
        "properties": {
            "parameter_1": {
                "description": "Deskripsi parameter_1",
                "type": "Tipe parameter_1",
                "default": "Nilai default parameter_1"
            },
            ...
            "parameter_n": {
                "description": "Deskripsi parameter_n",
                "type": "Tipe parameter_n",
                "default": "Nilai default parameter_n"
            }
        },
        "required": [
        "parameter_1",
        ...
        "parameter_n"
    ]
    },
}]

Misalnya, jika Anda memerlukan dua alat: alat kueri waktu dan alat kueri cuaca, informasi alatnya adalah sebagai berikut:

[
    {
        "name": "get_current_time",
        "description": "Ini berguna saat Anda ingin mengetahui waktu saat ini.",
        "parameters": {}
    },
    {
        "name": "get_current_weather",
        "description": "Ini berguna saat Anda ingin menanyakan cuaca di kota tertentu.",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "Sebuah kota atau distrik, seperti Beijing, Hangzhou, atau Distrik Yuhang.",
                }
            },
            "required": ["location"]
        }
    }
]

Contoh permintaan

Kompatibel dengan OpenAI

import os
import json
from openai import OpenAI

# Tentukan alat
tools = [
    {
        "name": "get_current_time",
        "description": "Ini berguna saat Anda ingin mengetahui waktu saat ini.",
        "parameters": {}
    },
    {
        "name": "get_current_weather",
        "description": "Ini berguna saat Anda ingin menanyakan cuaca di kota tertentu.",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "Sebuah kota atau distrik, seperti Beijing, Hangzhou, atau Distrik Yuhang.",
                }
            },
            "required": ["location"]
        }
    }
]

tools_string = json.dumps(tools,ensure_ascii=False)

system_prompt = f"""Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. Anda dapat memanggil satu atau lebih alat untuk membantu dengan kueri pengguna. Alat yang dapat Anda gunakan adalah sebagai berikut:
{tools_string}
Respons dalam INTENT_MODE."""
client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
messages = [
    {'role': 'system', 'content': system_prompt},
    {'role': 'user', 'content': "Cuaca di Hangzhou"}
    ]
response = client.chat.completions.create(
    model="tongyi-intent-detect-v3",
    messages=messages
)

print(response.choices[0].message.content)

DashScope

import os
import json
from dashscope import Generation

# Tentukan alat
tools = [
    {
        "name": "get_current_time",
        "description": "Ini berguna saat Anda ingin mengetahui waktu saat ini.",
        "parameters": {}
    },
    {
        "name": "get_current_weather",
        "description": "Ini berguna saat Anda ingin menanyakan cuaca di kota tertentu.",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "Sebuah kota atau distrik, seperti Beijing, Hangzhou, atau Distrik Yuhang.",
                }
            },
            "required": ["location"]
        }
    }
]

tools_string = json.dumps(tools,ensure_ascii=False)

system_prompt = f"""Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. Anda dapat memanggil satu atau lebih alat untuk membantu dengan kueri pengguna. Alat yang dapat Anda gunakan adalah sebagai berikut:
{tools_string}
Respons dalam INTENT_MODE."""

messages = [
    {'role': 'system', 'content': system_prompt},
    {'role': 'user', 'content': "Cuaca di Hangzhou"}
    ]
response = Generation.call(
    # Jika Anda belum menyetel variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"), 
    model="tongyi-intent-detect-v3",
    messages=messages,
    result_format="message"
)

print(response.output.choices[0].message.content)

Contoh respons

<tags>
[pemanggilan fungsi, respons json]
</tags><tool_call>
[{"name": "get_current_weather", "arguments": {"location": "Hangzhou"}}]
</tool_call><content>

</content>

Setelah menerima respons, gunakan fungsi parse_text untuk mengurai informasi alat dan parameter yang dikembalikan:

import re

def parse_text(text):
    # Tentukan pola ekspresi reguler untuk mencocokkan <tags>, <tool_call>, <content>, dan isinya
    tags_pattern = r'<tags>(.*?)</tags>'
    tool_call_pattern = r'<tool_call>(.*?)</tool_call>'
    content_pattern = r'<content>(.*?)</content>'
    # Gunakan ekspresi reguler untuk menemukan konten yang cocok
    tags_match = re.search(tags_pattern, text, re.DOTALL)
    tool_call_match = re.search(tool_call_pattern, text, re.DOTALL)
    content_match = re.search(content_pattern, text, re.DOTALL)
    # Ekstrak konten yang cocok. Jika tidak ada kecocokan, string kosong akan dikembalikan.
    tags = tags_match.group(1).strip() if tags_match else ""
    tool_call = tool_call_match.group(1).strip() if tool_call_match else ""
    content = content_match.group(1).strip() if content_match else ""
    # Simpan konten yang diekstrak dalam kamus
    result = {
      "tags": tags,
      "tool_call": tool_call,
      "content": content
    }
    return result

response = """<tags>
[pemanggilan fungsi, respons json]
</tags><tool_call>
[{"name": "get_current_weather", "arguments": {"location": "Hangzhou"}}]
</tool_call><content>

</content>"""
print(parse_text(response))

Contoh keluaran:

{
    "tags": "[pemanggilan fungsi, respons json]",
    "tool_call": [
        {
            "name": "get_current_weather",
            "arguments": {
                "location": "Hangzhou"
            }
        }
    ],
    "content": ""
}

Keluaran hanya informasi maksud

Untuk membuat model pengenalan maksud mengeluarkan hanya informasi maksud, atur Pesan Sistem sebagai berikut:

Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. \nAnda harus memilih satu tag dari daftar tag:\n{informasi maksud}\nhanya balas dengan tag yang dipilih.

Format untuk informasi maksud adalah sebagai berikut:

{
    "Maksud 1": "Deskripsi Maksud 1",
    "Maksud 2": "Deskripsi Maksud 2",
    "Maksud 3": "Deskripsi Maksud 3",
    ...
}

Contoh permintaan

Kompatibel dengan OpenAI

import os
import json
from openai import OpenAI


intent_dict = {
    "play_game": "Main game",
    "email_querycontact": "Email tanya kontak",
    "general_quirky": "unik",
    "email_addcontact": "Email tambah kontak",
    "takeaway_query": "Kueri pesan antar",
    "recommendation_locations": "Rekomendasi lokasi",
    "transport_traffic": "Transportasi",
    "iot_cleaning": "IoT - penyedot debu, pembersih",
    "general_joke": "Lelucon",
    "lists_query": "Kueri daftar/checklist",
    "calendar_remove": "Kalender hapus acara",
    "transport_taxi": "Taksi, pemesanan taksi",
    "qa_factoid": "Q&A faktual",
    "transport_ticket": "Tiket transportasi",
    "play_radio": "Putar radio",
    "alarm_set": "Atur alarm",
}

intent_string = json.dumps(intent_dict,ensure_ascii=False)

system_prompt = f"""Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. 
Anda harus memilih satu tag dari daftar tag:
{intent_string}
Hanya balas dengan tag yang dipilih."""


client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
messages = [
    {'role': 'system', 'content': system_prompt},
    {'role': 'user', 'content': "Bangunkan saya jam sembilan pagi Jumat"}
    ]
response = client.chat.completions.create(
    model="tongyi-intent-detect-v3",
    messages=messages
)

print(response.choices[0].message.content)

DashScope

import os
import json
from dashscope import Generation

intent_dict = {
    "play_game": "Main game",
    "email_querycontact": "Email tanya kontak",
    "general_quirky": "unik",
    "email_addcontact": "Email tambah kontak",
    "takeaway_query": "Kueri pesan antar",
    "recommendation_locations": "Rekomendasi lokasi",
    "transport_traffic": "Transportasi",
    "iot_cleaning": "IoT - penyedot debu, pembersih",
    "general_joke": "Lelucon",
    "lists_query": "Kueri daftar/checklist",
    "calendar_remove": "Kalender hapus acara",
    "transport_taxi": "Taksi, pemesanan taksi",
    "qa_factoid": "Q&A faktual",
    "transport_ticket": "Tiket transportasi",
    "play_radio": "Putar radio",
    "alarm_set": "Atur alarm",
}

intent_string = json.dumps(intent_dict,ensure_ascii=False)

system_prompt = f"""Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. 
Anda harus memilih satu tag dari daftar tag:
{intent_string}
Hanya balas dengan tag yang dipilih."""

messages = [
    {'role': 'system', 'content': system_prompt},
    {'role': 'user', 'content': "Bangunkan saya jam sembilan pagi Jumat"}
    ]
response = Generation.call(
    # Jika Anda belum menyetel variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"), 
    model="tongyi-intent-detect-v3",
    messages=messages,
    result_format="message"
)

print(response.output.choices[0].message.content)

Contoh respons

alarm_set

Tingkatkan waktu respons pengenalan maksud

Untuk meningkatkan waktu respons pengenalan maksud, gunakan satu huruf kapital untuk mewakili setiap kategori maksud. Respons pengenalan maksud kemudian akan menjadi satu token, yang mengoptimalkan waktu respons panggilan model.

Kompatibel dengan OpenAI

import os
import json
from openai import OpenAI


intent_dict = {
    "A": "Main game",
    "B": "Email tanya kontak",
    "C": "unik",
    "D": "Email tambah kontak",
    "E": "Kueri pesan antar",
    "F": "Rekomendasi lokasi",
    "G": "Transportasi",
    "H": "IoT - penyedot debu, pembersih",
    "I": "Lelucon",
    "J": "Kueri daftar/checklist",
    "K": "Kalender hapus acara",
    "L": "Taksi, pemesanan taksi",
    "M": "Q&A faktual",
    "N": "Tiket transportasi",
    "O": "Putar radio",
    "P": "Atur alarm",
}

intent_string = json.dumps(intent_dict, ensure_ascii=False)

system_prompt = f"""Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. 
Anda harus memilih satu tag dari daftar tag:
{intent_string}
Hanya balas dengan tag yang dipilih."""


client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
messages = [
    {"role": "system", "content": system_prompt},
    {"role": "user", "content": "Apa penerbangan pertama dari Beijing ke Hangzhou?"},
]
response = client.chat.completions.create(
    model="tongyi-intent-detect-v3", messages=messages
)

print(response.choices[0].message.content)

DashScope

import os
import json
from dashscope import Generation

intent_dict = {
    "A": "Main game",
    "B": "Email tanya kontak",
    "C": "unik",
    "D": "Email tambah kontak",
    "E": "Kueri pesan antar",
    "F": "Rekomendasi lokasi",
    "G": "Transportasi",
    "H": "IoT - penyedot debu, pembersih",
    "I": "Lelucon",
    "J": "Kueri daftar/checklist",
    "K": "Kalender hapus acara",
    "L": "Taksi, pemesanan taksi",
    "M": "Q&A faktual",
    "N": "Tiket transportasi",
    "O": "Putar radio",
    "P": "Atur alarm",
}

intent_string = json.dumps(intent_dict, ensure_ascii=False)

system_prompt = f"""Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. 
Anda harus memilih satu tag dari daftar tag:
{intent_string}
Hanya balas dengan tag yang dipilih."""

messages = [
    {"role": "system", "content": system_prompt},
    {"role": "user", "content": "Apa penerbangan pertama dari Beijing ke Hangzhou?"},
]
response = Generation.call(
    # Jika Anda belum menyetel variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="tongyi-intent-detect-v3",
    messages=messages,
    result_format="message",
)

print(response.output.choices[0].message.content)

Setelah menjalankan kode, Anda bisa mendapatkan hasil kategorisasi maksud satu-token.

M

Keluaran hanya informasi pemanggilan fungsi

Untuk membuat model pengenalan maksud mengeluarkan hanya informasi pemanggilan fungsi, atur Pesan Sistem sebagai berikut:

Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. Anda dapat memanggil satu atau lebih alat untuk membantu dengan kueri pengguna. Alat yang dapat Anda gunakan adalah sebagai berikut:\n{Informasi alat}\nRespons dalam NORMAL_MODE.

Format untuk informasi alat sama dengan yang dijelaskan dalam Keluaran informasi maksud dan pemanggilan fungsi.

Contoh permintaan

Kompatibel dengan OpenAI

import os
import json
from openai import OpenAI

# Tentukan alat
tools = [
    {
        "name": "get_current_time",
        "description": "Ini berguna saat Anda ingin mengetahui waktu saat ini.",
        "parameters": {}
    },
    {
        "name": "get_current_weather",
        "description": "Ini berguna saat Anda ingin menanyakan cuaca di kota tertentu.",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "Sebuah kota atau distrik, seperti Beijing, Hangzhou, atau Distrik Yuhang.",
                }
            },
            "required": ["location"]
        }
    }
]

tools_string = json.dumps(tools,ensure_ascii=False)

system_prompt = f"""Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. Anda dapat memanggil satu atau lebih alat untuk membantu dengan kueri pengguna. Alat yang dapat Anda gunakan adalah sebagai berikut:
{tools_string}
Respons dalam NORMAL_MODE."""
client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
messages = [
    {'role': 'system', 'content': system_prompt},
    {'role': 'user', 'content': "Cuaca di Hangzhou"}
    ]
response = client.chat.completions.create(
    model="tongyi-intent-detect-v3",
    messages=messages
)

print(response.choices[0].message.content)

DashScope

import os
import json
from dashscope import Generation

# Tentukan alat
tools = [
    {
        "name": "get_current_time",
        "description": "Ini berguna saat Anda ingin mengetahui waktu saat ini.",
        "parameters": {}
    },
    {
        "name": "get_current_weather",
        "description": "Ini berguna saat Anda ingin menanyakan cuaca di kota tertentu.",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "Sebuah kota atau distrik, seperti Beijing, Hangzhou, atau Distrik Yuhang.",
                }
            },
            "required": ["location"]
        }
    }
]

tools_string = json.dumps(tools,ensure_ascii=False)

system_prompt = f"""Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. Anda dapat memanggil satu atau lebih alat untuk membantu dengan kueri pengguna. Alat yang dapat Anda gunakan adalah sebagai berikut:
{tools_string}
Respons dalam NORMAL_MODE."""

messages = [
    {'role': 'system', 'content': system_prompt},
    {'role': 'user', 'content': "Cuaca di Hangzhou"}
    ]
response = Generation.call(
    # Jika Anda belum menyetel variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"), 
    model="tongyi-intent-detect-v3",
    messages=messages,
    result_format="message"
)

print(response.output.choices[0].message.content)

Contoh respons

<tool_call>
{"name": "get_current_weather", "arguments": {"location": "Hangzhou"}}
</tool_call>

Setelah menerima respons, gunakan fungsi parse_text untuk mengurai informasi alat dan parameter yang dikembalikan:

import re


def parse_text(text):
    tool_call_pattern = r'<tool_call>(.*?)</tool_call>'
    # Gunakan ekspresi reguler untuk menemukan konten yang cocok
    tool_call_match = re.search(tool_call_pattern, text, re.DOTALL)
    # Ekstrak konten yangcocok. Jika tidak ada kecocokan, string kosong akan dikembalikan.
    tool_call = tool_call_match.group(1).strip() if tool_call_match else ""
    return tool_call

response = """<tool_call>
{"name": "get_current_weather", "arguments": {"location": "Hangzhou"}}
</tool_call>"""
print(parse_text(response))

Contoh keluaran:

{"name": "get_current_weather", "arguments": {"location": "Hangzhou"}}

Percakapan multi-putaran

Jika pengguna tidak memberikan informasi yang cukup dalam kueri, model pengenalan maksud akan mengajukan pertanyaan lanjutan. Setelah mengumpulkan parameter yang diperlukan, ia kemudian mengeluarkan informasi pemanggilan fungsi.

Keluaran informasi maksud dan pemanggilan fungsi

Contoh permintaan

Kompatibel dengan OpenAI

import os
import json
from openai import OpenAI

# Tentukan alat
tools = [
    {
        "name": "get_current_time",
        "description": "Ini berguna saat Anda ingin mengetahui waktu saat ini.",
        "parameters": {},
    },
    {
        "name": "get_current_weather",
        "description": "Ini berguna saat Anda ingin menanyakan cuaca di kota tertentu.",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "Sebuah kota atau distrik, seperti Beijing, Hangzhou, atau Distrik Yuhang.",
                }
            },
            "required": ["location"],
        },
    },
]

tools_string = json.dumps(tools, ensure_ascii=False)

system_prompt = f"""Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. Anda dapat memanggil satu atau lebih alat untuk membantu dengan kueri pengguna. Alat yang dapat Anda gunakan adalah sebagai berikut:
{tools_string}
Respons dalam INTENT_MODE."""
client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
messages = [
    {"role": "system", "content": system_prompt},
    # Pertanyaan yang diajukan pada putaran percakapan pertama
    {"role": "user", "content": "Saya ingin memeriksa cuaca"},
]
response = client.chat.completions.create(
    model="tongyi-intent-detect-v3", messages=messages
)

print("Kueri: Saya ingin memeriksa cuaca")
print("Keluaran putaran pertama:\n")
print(response.choices[0].message.content)
messages.append(response.choices[0].message)
# Pertanyaan yang diajukan pada putaran percakapan kedua
messages.append({"role": "user", "content": "Di Hangzhou"})
response = client.chat.completions.create(
    model="tongyi-intent-detect-v3", messages=messages
)
print("\nKueri: Di Hangzhou")
print("Keluaran putaran kedua:\n")
print(response.choices[0].message.content)

DashScope

import os
import json
from dashscope import Generation

# Tentukan alat
tools = [
    {
        "name": "get_current_time",
        "description": "Ini berguna saat Anda ingin mengetahui waktu saat ini.",
        "parameters": {},
    },
    {
        "name": "get_current_weather",
        "description": "Ini berguna saat Anda ingin menanyakan cuaca di kota tertentu.",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "Sebuah kota atau distrik, seperti Beijing, Hangzhou, atau Distrik Yuhang.",
                }
            },
            "required": ["location"],
        },
    },
]

tools_string = json.dumps(tools, ensure_ascii=False)

system_prompt = f"""Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. Anda dapat memanggil satu atau lebih alat untuk membantu dengan kueri pengguna. Alat yang dapat Anda gunakan adalah sebagai berikut:
{tools_string}
Respons dalam INTENT_MODE."""

messages = [
    {"role": "system", "content": system_prompt},
    # Pertanyaan yang diajukan pada putaran percakapan pertama
    {"role": "user", "content": "Saya ingin memeriksa cuaca"},
]
response = Generation.call(
    # Jika Anda belum menyetel variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="tongyi-intent-detect-v3",
    messages=messages,
    result_format="message",
)
print("Kueri: Saya ingin memeriksa cuaca")
print("Keluaran putaran pertama:\n")
print(response.output.choices[0].message.content)

messages.append(
    {"role": "assistant", "content": response.output.choices[0].message.content}
)
# Pertanyaan yang diajukan pada putaran percakapan kedua
messages.append({"role": "user", "content": "Hangzhou"})

response = Generation.call(
    # Jika Anda belum menyetel variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="tongyi-intent-detect-v3",
    messages=messages,
    result_format="message",
)
print("\nKueri: Hangzhou")
print("Keluaran putaran kedua:\n")
print(response.output.choices[0].message.content)
Contoh respons
Kueri: Saya ingin memeriksa cuaca
Keluaran putaran pertama:

<tags>
[informasi cuaca]
</tags><tool_call>
[]
</tool_call><content>
Baik. Cuaca di kota mana yang ingin Anda periksa?
</content>

Kueri: Hangzhou
Keluaran putaran kedua:

<tags>
[pemanggilan fungsi, respons json]
</tags><tool_call>
[{"name": "get_current_weather", "arguments": {"location": "Hangzhou"}}]
</tool_call><content>

</content>

Keluaran hanya informasi pemanggilan fungsi

Contoh permintaan

Kompatibel dengan OpenAI

import os
import json
from openai import OpenAI

# Tentukan alat
tools = [
    {
        "name": "get_current_time",
        "description": "Ini berguna saat Anda ingin mengetahui waktu saat ini.",
        "parameters": {},
    },
    {
        "name": "get_current_weather",
        "description": "Ini berguna saat Anda ingin menanyakan cuaca di kota tertentu.",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "Sebuah kota atau distrik, seperti Beijing, Hangzhou, atau Distrik Yuhang.",
                }
            },
            "required": ["location"],
        },
    },
]

tools_string = json.dumps(tools, ensure_ascii=False)

system_prompt = f"""Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. Anda dapat memanggil satu atau lebih alat untuk membantu dengan kueri pengguna. Alat yang dapat Anda gunakan adalah sebagai berikut:
{tools_string}
Respons dalam NORMAL_MODE."""
client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
messages = [
    {"role": "system", "content": system_prompt},
    {"role": "user", "content": "Saya ingin memeriksa cuaca"},
]
response = client.chat.completions.create(
    model="tongyi-intent-detect-v3", messages=messages
)

messages.append(response.choices[0].message)
print("Kueri: Saya ingin memeriksa cuaca")
print("Keluaran putaran pertama:\n")
print(response.choices[0].message.content)
messages.append({"role": "user", "content": "Hangzhou"})
response = client.chat.completions.create(
    model="tongyi-intent-detect-v3", messages=messages
)
print("\nKueri: Hangzhou")
print("Keluaran putaran kedua:\n")
print(response.choices[0].message.content)

DashScope

import os
import json
from dashscope import Generation

# Tentukan alat
tools = [
    {
        "name": "get_current_time",
        "description": "Ini berguna saat Anda ingin mengetahui waktu saat ini.",
        "parameters": {},
    },
    {
        "name": "get_current_weather",
        "description": "Ini berguna saat Anda ingin menanyakan cuaca di kota tertentu.",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "Sebuah kota atau distrik, seperti Beijing, Hangzhou, atau Distrik Yuhang.",
                }
            },
            "required": ["location"],
        },
    },
]

tools_string = json.dumps(tools, ensure_ascii=False)

system_prompt = f"""Anda adalah Qwen, dibuat oleh Alibaba Cloud. Anda adalah asisten yang membantu. Anda dapat memanggil satu atau lebih alat untuk membantu dengan kueri pengguna. Alat yang dapat Anda gunakan adalah sebagai berikut:
{tools_string}
Respons dalam NORMAL_MODE."""

messages = [
    {"role": "system", "content": system_prompt},
    {"role": "user", "content": "Saya ingin memeriksa cuaca"},
]
response = Generation.call(
    # Jika Anda belum menyetel variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="tongyi-intent-detect-v3",
    messages=messages,
    result_format="message",
)
print("Kueri: Saya ingin memeriksa cuaca")
print("Keluaran putaran pertama:\n")
print(response.output.choices[0].message.content)
messages.append(
    {"role": "assistant", "content": response.output.choices[0].message.content}
)
messages.append({"role": "user", "content": "Hangzhou"})
response = Generation.call(
    # Jika Anda belum menyetel variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="tongyi-intent-detect-v3",
    messages=messages,
    result_format="message",
)
print("\nKueri: Hangzhou")
print("Keluaran putaran kedua:\n")
print(response.output.choices[0].message.content)
Contoh respons
Kueri: Saya ingin memeriksa cuaca
Keluaran putaran pertama:

Cuaca di kota mana yang ingin Anda periksa?

Kueri: Hangzhou
Keluaran putaran kedua:

<tool_call>
{"name": "get_current_weather", "arguments": {"location": "Hangzhou"}}
</tool_call>

FAQ

T: Berapa jumlah maksimum alat yang dapat dimasukkan?

A: Kami merekomendasikan agar Anda menyediakan tidak lebih dari 10 alat. Jika tidak, akurasi pemanggilan alat mungkin menurun.