Observabilitas Large Language Model (LLM) memungkinkan Anda memantau aplikasi AgentScope menggunakan probe Python. Probe Python adalah probe pengumpulan observabilitas berpemilik yang dikembangkan oleh Alibaba Cloud dan menerapkan instrumentasi otomatis berdasarkan standar OpenTelemetry. Topik ini menjelaskan cara mengintegrasikan aplikasi AgentScope dengan Pemantauan Aplikasi ARMS untuk membantu Anda memantau status operasional real-time aplikasi AI Anda.
Pengenalan Framework
AgentScope adalah framework pengembangan aplikasi multi-agen open-source dari Alibaba Cloud. Framework ini menyediakan berbagai jenis agen, seperti ReActAgent, serta adaptor model bawaan untuk layanan seperti DashScope dan OpenAI. Framework ini juga mendukung pemanggilan alat, manajemen memori, dan kolaborasi multi-agen.
Setelah integrasi, kemampuan berikut dipantau secara otomatis:
Jejak eksekusi agen
Panggilan LLM, termasuk penggunaan token dan konten input/output panggilan model
Jejak pemanggilan alat, termasuk detail pemanggilan setiap alat dalam toolkit
Langkah ReAct, termasuk pengamatan aksi pada setiap iterasi loop
Metode Integrasi
ACK dan ACS
Jika aplikasi Anda berjalan di kluster Container Service for Kubernetes (ACK) atau Container Compute Service (ACS), instal komponen ack-onepilot lalu tambahkan label ke workload Anda untuk mengaktifkan pemantauan. Tidak diperlukan perubahan kode.
Langkah 1: Instal ack-onepilot
Masuk ke . Pada halaman Clusters, klik nama kluster tersebut.
-
Di panel navigasi sebelah kiri, klik Add-ons, lalu cari ack-onepilot di pojok kanan atas.
-
Pada kartu ack-onepilot, klik Install. Konfigurasi parameter—kami menyarankan menggunakan nilai default—lalu klik OK.
CatatanPastikan komponen ack-onepilot berada pada versi 5.1.1 atau lebih baru. Versi ditampilkan pada kartu komponen sebelum instalasi. Jika Anda telah menginstal versi yang lebih lama, klik Upgrade alih-alih Install.
Langkah 2: Modifikasi konfigurasi untuk observabilitas AI
-
Masuk ke Konsol Container Service for Kubernetes (ACK). Di panel navigasi sebelah kiri, klik Clusters.
-
Pada halaman Clusters, klik nama kluster target. Di panel navigasi sebelah kiri, pilih . Prosedur yang sama berlaku untuk StatefulSet dan DaemonSet.
-
Navigasi ke namespace workload target Anda. Temukan workload tersebut, klik ikon More
di kolom Actions, lalu pilih Edit YAML. -
Tambahkan
labelsberikut ke tingkat spec > template > metadata pada file YAML Anda. Kemudian, klik Update.labels: aliyun.com/app-language: python # Wajib untuk aplikasi Python. Menentukan bahwa ini adalah aplikasi Python. armsPilotAutoEnable: 'on' armsPilotCreateAppName: "deployment-name" # Nama tampilan aplikasi di ARMS.
Integrasi manual
Langkah 1: Unduh installer probe aliyun-bootstrap
Unduh installer probe dari PyPI.
pip3 install aliyun-bootstrap
Langkah 2: Konfigurasi variabel lingkungan
Anda harus menambahkan secara manual variabel lingkungan berikut untuk aplikasi Python Anda:
# Metode 1: Tambahkan variabel lingkungan untuk semua proses di shell saat ini.
export ARMS_APP_NAME=xxx # Nama aplikasi.
export ARMS_REGION_ID=xxx # ID wilayah Akun Alibaba Cloud Anda.
export ARMS_LICENSE_KEY=xxx # Kunci lisensi Alibaba Cloud Anda.# Metode 2: Atur variabel lingkungan untuk satu proses
ARMS_APP_NAME=xxx ARMS_REGION_ID=xxx ARMS_LICENSE_KEY=xxx aliyun-instrument xxx.py
Untuk mendapatkan kunci lisensi, lihat bidang authToken dalam tanggapan operasi API GetApplicationObservability.
Opsi: Instalasi Docker
Untuk lingkungan Docker, modifikasi Dockerfile Anda berdasarkan contoh berikut.
# Tambahkan variabel lingkungan
ENV ARMS_APP_NAME={AppName}
ENV ARMS_REGION_ID={regionId}
ENV ARMS_LICENSE_KEY={licenseKey}
## Lingkungan asli
Langkah 3: Instal agen Python
-
Untuk mempercepat instalasi, atur repositori mirror dengan menjalankan perintah berikut:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && pip config set install.trusted-host mirrors.aliyun.com -
Instal agen.
aliyun-bootstrap -a install
Langkah 4: Jalankan aplikasi
Jalankan dengan agen Python ARMS
aliyun-instrument python app.py
Kode Contoh
import asyncio
import os
from agentscope.agent import ReActAgent
from agentscope.formatter import DashScopeChatFormatter
from agentscope.message import Msg, TextBlock
from agentscope.model import DashScopeChatModel
from agentscope.tool import Toolkit, ToolResponse
def get_weather(city: str) -> ToolResponse:
weather_data = {
"Beijing": "Cerah 25°C",
"Shanghai": "Berawan 22°C",
"Hangzhou": "Hujan ringan 20°C",
}
result = weather_data.get(city, f"{city}: Data cuaca tidak tersedia")
return ToolResponse(content=[TextBlock(type="text", text=result)])
def search_info(keyword: str) -> ToolResponse:
info = {
"West Lake": "Danau West Lake di Hangzhou adalah danau air tawar terkenal, Warisan Dunia UNESCO",
"Great Wall": "Struktur pertahanan kuno Tiongkok, Warisan Dunia UNESCO",
}
result = info.get(keyword, f"Tidak ditemukan informasi untuk '{keyword}'")
return ToolResponse(content=[TextBlock(type="text", text=result)])
async def main():
model = DashScopeChatModel(
model_name=os.environ.get("MODEL_NAME", "qwen-plus"),
api_key=os.environ.get("DASHSCOPE_API_KEY"),
)
toolkit = Toolkit()
toolkit.register_tool_function(get_weather)
toolkit.register_tool_function(search_info)
agent = ReActAgent(
name="TravelAgent",
sys_prompt="Anda adalah asisten perjalanan. Gunakan alat untuk menanyakan cuaca dan informasi perjalanan.",
model=model,
formatter=DashScopeChatFormatter(),
toolkit=toolkit,
max_iters=5,
)
msg = Msg(
name="user",
content="Bagaimana cuaca di Hangzhou hari ini? Apakah Danau West Lake layak dikunjungi?",
role="user",
)
result = await agent(msg)
print(result.content)
asyncio.run(main())
Lihat Detail Pemantauan
Di Konsol Cloud Monitor 2.0, navigasi ke halaman LLM Application Monitoring > Application List. Klik nama aplikasi AI target untuk melihat data pemantauan terperincinya.
