Büyük model gözlemlenebilirliği, Python aracısını kullanarak LangChain/LangGraph uygulamalarını izlemenize olanak tanır. Python aracı, Alibaba Cloud'un tescilli bir gözlemlenebilirlik veri toplama aracıdır ve OpenTelemetry standardına dayalı otomatik enstrümantasyon sağlar. Bu konu, AI uygulamalarınızın gerçek zamanlı çalışma durumunu anlamanıza yardımcı olmak için LangChain/LangGraph uygulamalarının ARMS Uygulama İzleme hizmetine nasıl bağlanacağını açıklar.
Çerçeveye genel bakış
LangChain , büyük dil modelleri (LLM'ler) tarafından desteklenen uygulamalar geliştirmek için kullanılan bir çerçevedir. Model çağırma, istem yönetimi, araç entegrasyonu, geri alma artırılmış üretim (RAG) ve ajan oluşturma gibi yetenekler sunarak geliştiricilerin karmaşık LLM uygulamalarını hızlı bir şekilde oluşturmasına yardımcı olur.
LangGraph , LangChain ekosistemi içindeki bir ajan orkestrasyon çerçevesidir. Çok adımlı akıl yürütmeyi ve çoklu ajan iş birliğini destekleyen LLM uygulamaları oluşturmak için bir grafik yapısı kullanır; döngüsel kontrol akışı, durum yönetimi ve araç çağrıları gibi özellikleri etkinleştirir.
Entegrasyondan sonra aşağıdaki yetenekler otomatik olarak izlenir:
LangChain zincirleri ve ajanları için yürütme izleri
LLM çağrıları (model adı, belirteç kullanımı ve giriş/çıkış içeriği)
Araç çağrıları (araç adı, parametreler ve dönüş sonuçları)
Geri alıcılar ve geri alma artırılmış üretim (RAG) ile ilgili izler
LangGraph düğümlerinin yürütülmesi ve durum geçişleri
Entegrasyon yöntemleri
ACK ve ACS
1. Adım: ack-onepilot yükleyin
üzerinde oturum açın. Kümeler sayfasında kümenin adına tıklayın.
Sol gezinme bölmesinde Add-ons seçeneğine tıklayın ve ardından sağ üst köşede ack-onepilot araması yapın.
-
ack-onepilot kartında Install seçeneğine tıklayın. Parametreleri yapılandırın (varsayılanları kullanmanız önerilir) ve ardından OK. seçeneğine tıklayın.
Notack-onepilot bileşeninin sürümünün 5.1.1 veya üzeri olduğundan emin olun. Sürüm, yüklemeden önce bileşen kartında görüntülenir. Daha eski bir sürüm yüklüyse Install yerine Upgrade seçeneğine tıklayın.
2. Adım: AI gözlemlenebilirliği için yapılandırmaları değiştirin
Container Service for Kubernetes (ACK) konsolu üzerinde oturum açın. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.
Clusters sayfasında hedef kümenin adına tıklayın. Sol gezinme bölmesinde seçeneğine gidin. 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 simgesine
tıklayın ve ardından Edit YAML seçeneğini belirleyin.-
YAML dosyanızdaki spec > template > metadata düzeyine aşağıdaki
labelsöğelerini ekleyin. Ardından Update seçeneğine 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 prob yükleyicisini indirin
Prob yükleyicisini PyPI'den indirin.
pip3 install aliyun-bootstrap
2. Adım: Ortam değişkenlerini yapılandırın
Python uygulamanız için aşağıdaki ortam değişkenlerini manuel olarak eklemelisiniz:
# 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şlemi yanıtındaki authToken alanına bakın.
İsteğe bağlı: Docker kurulumu
Docker ortamları için Dockerfile dosyanı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 aracısını yükleyin
-
Kurulumu hızlandırmak için aşağıdaki komutu çalıştırarak yansı deposunu ayarlayın:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && pip config set install.trusted-host mirrors.aliyun.com -
Aracı yükleyin.
aliyun-bootstrap -a install
4. Adım: Uygulamayı başlatın
ARMS Python aracıyla başlatın
aliyun-instrument python app.py
Örnek kod
import os
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
from langchain_core.tools import tool
@tool
def get_weather(city: str) -> str:
"""Get weather information for a specified city"""
weather_data = {"Beijing": "Sunny 25°C", "Shanghai": "Cloudy 22°C", "Hangzhou": "Light rain 20°C"}
return weather_data.get(city, f"{city}: No weather data available")
@tool
def search_product(keyword: str) -> str:
"""Search product information by keyword"""
products = {
"ECS": "Elastic Compute Service, providing secure and reliable cloud servers",
"RDS": "Relational Database Service, supports MySQL/PostgreSQL/SQL Server",
"OSS": "Object Storage Service, massive, secure, and highly reliable cloud storage",
}
return products.get(keyword, f"No product found for '{keyword}'")
llm = ChatOpenAI(
model="qwen-plus",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
api_key=os.environ.get("DASHSCOPE_API_KEY"),
streaming=True,
stream_usage=True, # When enabled, streamed responses include token usage
)
agent = create_react_agent(llm, tools=[get_weather, search_product])
result = agent.invoke({"messages": [{"role": "user", "content": "What's the weather like in Beijing today? Also look up what ECS is as a product"}]})
for msg in result["messages"]:
if msg.content:
print(msg.content)
İzleme ayrıntılarını görüntüleyin
ARMS konsolu üzerinde LLM Application Insights > App List sayfasına gidin ve ayrıntılı izleme verilerini görüntülemek için hedef AI uygulamanızın adına tıklayın.

Referanslar
Akış senaryolarında belirteç kullanımını toplayın
ChatOpenAI akış çağrılarından belirteç kullanım bilgilerini toplamak için stream_usage parametresini etkinleştirin:
llm = ChatOpenAI(
model="qwen-plus",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
api_key=os.environ.get("DASHSCOPE_API_KEY"),
streaming=True,
stream_usage=True, # When enabled, streamed responses include token usage.
)
session_id ve user_id iletin
agent.invoke çağrılırken, oturum ve kullanıcı tabanlı analizi etkinleştirmek için config nesnesinin meta verilerinde session_id ve user_id değerlerini iletebilirsiniz:
result = agent.invoke(
{"messages": [{"role": "user", "content": "Hello"}]},
config={
"metadata": {
"session_id": "sess_abc123",
"user_id": "user_456",
},
},
)
session_id: Aynı oturum içindeki çoklu dönüş çağrılarını ilişkilendirmek için kullanılan bir oturum tanımlayıcısı.user_id: Kullanıcı başına toplama ve filtreleme için kullanılan bir kullanıcı tanımlayıcısı.