非推奨。 Assistants API(
dashscope.assistantsおよびdashscope.threads)は非推奨であり、将来のリリースで削除される予定です。messagesパラメータを使用するGenerationまたはMultiModalConversationへの移行をお願いします。詳細は移行リファレンスを参照してください。
このガイドは、このAPIに依存するコードを保守するために、既存のインターフェースをまとめたものです。
アシスタントを作成し、スレッドを開始して実行し、完了を待ちます:
from dashscope import Assistants, Threads, Runs, Messages
assistant = Assistants.create(
model="qwen-max",
name="smart helper",
description="A tool helper.",
instructions="You are a helpful assistant.",
)
thread = Threads.create(
messages=[{"role": "user", "content": "How do I make beef stew?"}],
)
run = Runs.create(thread.id, assistant_id=assistant.id)
run_status = Runs.wait(run.id, thread_id=thread.id)
print(run_status.status)
messages = Messages.list(thread.id)
print(messages)from dashscope import Assistants
assistant = Assistants.get(assistant_id=assistant.id)
assistants = Assistants.list(limit=20)
for a in assistants.data:
print(a.id, a.name)
assistant = Assistants.update(assistant.id, name="renamed helper")
Assistants.delete(assistant.id)from dashscope import Threads
thread = Threads.get(thread_id=thread.id)
thread = Threads.update(thread.id, metadata={"topic": "cooking"})
Threads.delete(thread.id)from dashscope import Messages
message = Messages.create(thread.id, content="What about a vegetarian version?")
message = Messages.get(message.id, thread_id=thread.id)
messages = Messages.list(thread.id, limit=20)from dashscope import Runs
run = Runs.get(run.id, thread_id=thread.id)
run = Runs.wait(run.id, thread_id=thread.id, timeout_seconds=60)
Runs.cancel(run.id, thread_id=thread.id)run の個々の実行ステップ(ツール呼び出し、メッセージ作成など)を一覧表示します:
from dashscope import Steps
steps = Steps.list(run.id, thread_id=thread.id, limit=20)
for step in steps.data:
print(step.id, step.type, step.status)ファイルの添付には、dashscope.assistants 配下の専用の Files クラスを使用します(微調整のアップロードに使うトップレベルの dashscope.Files とは別のものです):
from dashscope.assistants.files import Files
attached = Files.create(assistant_id=assistant.id, file_id="file-id-xxxx")
print(attached)
info = Files.get(file_id="file-id-xxxx", assistant_id=assistant.id)
files = Files.list(assistant.id, limit=10, order="asc")
for f in files.data:
print(f.id, f.assistant_id)
deleted = Files.delete(file_id="file-id-xxxx", assistant_id=assistant.id)
print(deleted.deleted)