Büyük Dil Modeli (LLM) gözlemlenebilirliği, bir Python probu kullanarak AgentScope uygulamalarını izlemenizi sağlar. Python probu, OpenTelemetry standartlarına dayalı otomatik enstrümantasyon uygulayan ve Alibaba Cloud tarafından geliştirilen tescilli bir gözlemlenebilirlik toplama probudur. Bu konu, yapay zeka uygulamalarınızın gerçek zamanlı çalışma durumunu izlemenize yardımcı olmak için AgentScope uygulamalarının ARMS Application Monitoring ile nasıl entegre edileceğini açıklar.
Çerçeve Tanıtımı
AgentScope, Alibaba Cloud tarafından sunulan açık kaynaklı, çoklu ajan uygulama geliştirme çerçevesidir. ReActAgent gibi çeşitli ajan türleri ve DashScope ile OpenAI gibi hizmetler için yerleşik model bağdaştırıcıları sunar. Ayrıca araç çağırma, bellek yönetimi ve çoklu ajan iş birliğini destekler.
Entegrasyondan sonra aşağıdaki yetenekler otomatik olarak izlenir:
Ajan yürütme izleri
LLM çağrıları; token kullanımı ve model çağrılarının giriş/çıkış içeriği dahil
Araç çağırma izleri; araç setindeki her bir aracın çağrı ayrıntıları dahil
ReAd adımları; her döngü yinelemesindeki eylemlerin gözlemi dahil
Entegrasyon yöntemleri
ACK ve ACS
Uygulamanız bir Container Service for Kubernetes (ACK) veya Container Compute Service (ACS) kümesinde çalışıyorsa, ack-onepilot bileşenini yükleyin ve ardından izlemeyi etkinleştirmek için iş yükünüze etiketler ekleyin. Kod değişikliği gerekmez.
1. Adım: ack-onepilot'u yükleme
üzerinde oturum açın. Kümeler sayfasında, kümenin adını tıklayın.
Sol gezinme bölmesinde Add-ons seçeneğini tıklayın ve ardından sağ üst köşede ack-onepilot araması yapın.
-
ack-onepilot kartında Install seçeneğini tıklayın. Parametreleri yapılandırın (varsayılan değerleri kullanmanız önerilir) ve ardından OK. seçeneğini tıklayın.
Notack-onepilot bileşeninin sürümünün 5.1.1 veya üzeri olduğundan emin olun. Sürüm, kurulumdan önce bileşen kartında görüntülenir. Daha eski bir sürüm yüklüyse Yükle yerine Yükselt seçeneğini tıklayın.
2. Adım: Yapay zeka gözlemlenebilirliği için yapılandırmaları değiştirme
Container Service for Kubernetes (ACK) konsolu üzerinde oturum açın. Sol gezinme bölmesinde Clusters seçeneğini tıklayın.
Clusters sayfasında hedef kümenin adını tıklayın. Sol gezinme bölmesinde seçeneğini belirleyin. Aynı yordam StatefulSets ve DaemonSets için de geçerlidir.
Hedef iş yükünüzün ad alanına gidin. İş yükünü bulun, İşlemler sütunundaki Daha Fazla simgesini
tıklayın ve ardından Edit YAML seçeneğini seçin.-
YAML dosyanızdaki spec > template > metadata düzeyine aşağıdaki
labelsöğelerini ekleyin. Ardından Update seçeneğini tıklayın.labels: aliyun.com/app-language: python # Required for Python applications. Specifies that this is a Python application. armsPilotAutoEnable: 'on' armsPilotCreateAppName: "deployment-name" # The display name of the application in ARMS.
Manuel entegrasyon
1. Adım: aliyun-bootstrap probu yükleyicisini indirme
Prob yükleyicisini PyPI'den indirin.
pip3 install aliyun-bootstrap
2. Adım: Ortam değişkenlerini yapılandırma
Python uygulamanız için aşağıdaki ortam değişkenlerini manuel olarak eklemeniz gerekir:
# Method 1: Add environment variables for all processes in the current shell.
export ARMS_APP_NAME=xxx # The application name.
export ARMS_REGION_ID=xxx # The region ID of your Alibaba Cloud account.
export ARMS_LICENSE_KEY=xxx # Your Alibaba Cloud license key.
# Method 2: Set environment variables for a single process
ARMS_APP_NAME=xxx ARMS_REGION_ID=xxx ARMS_LICENSE_KEY=xxx aliyun-instrument xxx.py
Lisans anahtarını almak için GetApplicationObservability API işleminin yanıtındaki authToken alanına bakın.
İsteğe bağlı: Docker yüklemesi
Docker ortamları için Dockerfile'ınızı aşağıdaki örneğe göre değiştirin.
# Add environment variables
ENV ARMS_APP_NAME={AppName}
ENV ARMS_REGION_ID={regionId}
ENV ARMS_LICENSE_KEY={licenseKey}
## Original environment
3. Adım: Python ajanını yükleme
-
Yüklemeyi hızlandırmak için aşağıdaki komutu çalıştırarak yansıtma deposunu ayarlayın:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && pip config set install.trusted-host mirrors.aliyun.com -
Ajanı yükleyin.
aliyun-bootstrap -a install
4. Adım: Uygulamayı başlatma
ARMS Python ajanı ile başlatma
aliyun-instrument python app.py
Örnek Kod
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": "Sunny 25°C",
"Shanghai": "Cloudy 22°C",
"Hangzhou": "Light rain 20°C",
}
result = weather_data.get(city, f"{city}: No weather data available")
return ToolResponse(content=[TextBlock(type="text", text=result)])
def search_info(keyword: str) -> ToolResponse:
info = {
"West Lake": "West Lake in Hangzhou is a famous freshwater lake, UNESCO World Heritage",
"Great Wall": "Ancient Chinese defensive structure, UNESCO World Heritage",
}
result = info.get(keyword, f"No information found for '{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="You are a travel assistant. Use tools to query weather and travel info.",
model=model,
formatter=DashScopeChatFormatter(),
toolkit=toolkit,
max_iters=5,
)
msg = Msg(
name="user",
content="What's the weather in Hangzhou today? Is West Lake worth visiting?",
role="user",
)
result = await agent(msg)
print(result.content)
asyncio.run(main())
İzleme Ayrıntılarını Görüntüleme
Cloud Monitor 2.0 konsolu içinde LLM Application Monitoring > Application List sayfasına gidin. Ayrıntılı izleme verilerini görüntülemek için hedef yapay zeka uygulamasının adına tıklayın.
