All Products
Search
Document Center

AgentLoop:Integrasikan aplikasi LangChain dan LangGraph

Last Updated:Sep 24, 2026

Observabilitas model besar memungkinkan Anda memantau aplikasi LangChain/LangGraph menggunakan agen Python. Agen Python adalah agen pengumpulan data observabilitas eksklusif dari Alibaba Cloud yang menyediakan instrumentasi otomatis berdasarkan standar OpenTelemetry. Topik ini menjelaskan cara menghubungkan aplikasi LangChain/LangGraph ke ARMS Application Monitoring untuk memahami status berjalan waktu nyata aplikasi AI Anda.

Ikhtisar framework

LangChain adalah framework untuk mengembangkan aplikasi yang didukung oleh model bahasa besar (LLM). Framework ini menyediakan kemampuan seperti pemanggilan model, manajemen prompt, integrasi tool, Generasi yang Diperkaya dengan Pengambilan Data (RAG), serta pembuatan agen untuk membantu developer membangun aplikasi LLM kompleks secara cepat.

LangGraph adalah framework orkestrasi agen dalam ekosistem LangChain. Framework ini menggunakan struktur graf untuk membangun aplikasi LLM yang mendukung penalaran multi-langkah dan kolaborasi multi-agen, sehingga memungkinkan fitur seperti alur kendali siklik, manajemen state, dan pemanggilan tool.

Setelah integrasi, kemampuan berikut dipantau secara otomatis:

  • Jejak eksekusi untuk rantai dan agen LangChain

  • Pemanggilan LLM (nama model, penggunaan token, dan konten input/output)

  • Pemanggilan tool (nama tool, parameter, dan hasil kembaliannya)

  • Jejak terkait retriever dan Generasi yang Diperkaya dengan Pengambilan Data (RAG)

  • Eksekusi dan transisi state node LangGraph

Metode integrasi

ACK dan ACS

Langkah 1: Instal ack-onepilot

  1. Masuk ke . Pada halaman Clusters, klik nama kluster tersebut.

  2. Di panel navigasi sebelah kiri, klik Add-ons, lalu cari ack-onepilot di pojok kanan atas.

  3. Pada kartu ack-onepilot, klik Install. Konfigurasikan parameter—kami menyarankan menggunakan nilai default—lalu klik OK.

    Catatan

    Pastikan 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

  1. Masuk ke Container Service for Kubernetes (ACK) console. Di panel navigasi sebelah kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster target. Di panel navigasi sebelah kiri, pilih Workloads > Deployments. Prosedur yang sama berlaku untuk StatefulSets dan DaemonSets.

  3. Buka namespace workload target Anda. Temukan workload tersebut, klik ikon More p1029481 di kolom Actions, lalu pilih Edit YAML.

  4. Tambahkan labels berikut ke level 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.

    image

Integrasi manual

Langkah 1: Unduh installer probe aliyun-bootstrap

Unduh installer probe dari PyPI.

pip3 install aliyun-bootstrap

Langkah 2: Konfigurasikan 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

Anda dapat memperoleh kunci lisensi dengan memanggil operasi API. Untuk informasi selengkapnya, lihat bidang authToken dalam tanggapan operasi 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

  1. 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
  2. Instal agen tersebut.

    aliyun-bootstrap -a install

Langkah 4: Jalankan aplikasi

Mulai dengan Agen Python ARMS

aliyun-instrument python app.py

Kode contoh

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:
    """Dapatkan informasi cuaca untuk kota tertentu"""
    weather_data = {"Beijing": "Cerah 25°C", "Shanghai": "Berawan 22°C", "Hangzhou": "Hujan ringan 20°C"}
    return weather_data.get(city, f"{city}: Data cuaca tidak tersedia")
@tool
def search_product(keyword: str) -> str:
    """Cari informasi produk berdasarkan kata kunci"""
    products = {
        "ECS": "Elastic Compute Service, menyediakan server cloud yang aman dan andal",
        "RDS": "Relational Database Service, mendukung MySQL/PostgreSQL/SQL Server",
        "OSS": "Object Storage Service, penyimpanan cloud berskala besar, aman, dan sangat andal",
    }
    return products.get(keyword, f"Tidak ditemukan produk untuk '{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,  # Saat diaktifkan, respons streaming mencakup penggunaan token
)
agent = create_react_agent(llm, tools=[get_weather, search_product])
result = agent.invoke({"messages": [{"role": "user", "content": "Bagaimana cuaca di Beijing hari ini? Juga cari tahu apa itu ECS sebagai produk"}]})
for msg in result["messages"]:
    if msg.content:
        print(msg.content)
                    

Lihat detail pemantauan

  1. Di Konsol ARMS, buka halaman LLM Application Insights > App List, lalu klik nama aplikasi AI target Anda untuk melihat data pemantauan terperinci.

p1061009

Referensi

Kumpulkan token usage dalam skenario streaming

Untuk mengumpulkan informasi penggunaan token dari pemanggilan streaming ChatOpenAI, aktifkan parameter stream_usage:

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,  # Saat diaktifkan, respons streaming mencakup penggunaan token.
)

Kirim session_id dan user_id

Saat memanggil agent.invoke, Anda dapat mengirimkan session_id dan user_id dalam objek metadata konfigurasi untuk mengaktifkan analisis berbasis sesi dan pengguna:

result = agent.invoke(
    {"messages": [{"role": "user", "content": "Halo"}]},
    config={
        "metadata": {
            "session_id": "sess_abc123",
            "user_id": "user_456",
        },
    },
)
  • session_id: Identifikasi sesi yang digunakan untuk menghubungkan pemanggilan multi-turn dalam sesi yang sama.

  • user_id: Identifikasi pengguna yang digunakan untuk agregasi dan penyaringan per pengguna.

Pemecahan masalah umum

Masalah umum untuk agen Python