Your shopping cart

Süni intellekt

LangGraph AI Agentiniz üçün Düzgün Backend Qurmaq

Stateful LangGraph booking agentinizi real məlumatları saxlamaq üçün in-memory yaddaşdan PostgreSQL-ə keçirin. Çox fəliyyətli backend arxitekturası necə quracağınızı öyrənin.

  • DatalabAcademy AI
  • 23 Avqust 2026
  • 8 dəq
LangGraph AI Agentiniz üçün Düzgün Backend Qurmaq

Müştəri xidməti agentu yaradarkən, demo layihəsini real məhsula çevirmək üçün düzgün backend qurmaq zəruri hissədir. Əvvəl LangGraph agenti yalnız prosessin yaddaşında məlumatları saxlayırdı, amma bu yanaşma istehsal ortamında çox məhdud imkanlar təqdim edir.

In-Memory Yaddaş Məhdudiyyətləri

Başlanğıcda, booking sistemi iki Python komponenti ilə işləyirdi. Birincisi, LangGraph checkpointer idi—bu, agent qrafının her addımında vəziyyəti saxlayan state persistence təbəqəsi. İkincisi, təyin olunmuş texniklərin və booking-lərin saxlandığı sadə Python siyahısı idi. Bu struktur test məqsədləri üçün ideal idi, lakin əsl problemlər ortaya çıxırdı:

  • Proses yenidən başladığında bütün booking-lər və söhbət sınırları silinirdi
  • Müxtəlif sessialar bir-birinin yaratdığı appointment-ləri görmə imkanı yoxdu
  • İki sessiyanın eyni vaxt slotunu təklif etmə riski mövcud idi (double-booking)

PostgreSQL-ə Keçid Strategiyası

Bu məhdudiyyətləri aradan qaldırmaq üçün PostgreSQL seçildi. Sistem yenidən strukturlaşdırıldı: agentin işçi yaddaşı olan AgentState hələ də LangGraph-da qalır, lakin persistent məlumatlar PostgreSQL checkpointer və booking engine-i vasitəsilə saxlanılır. Bu yanaşmanın üstün tərəfi, Streamlit, WhatsApp və ya hər hansı digər interfeysin eyni backend-dən istifadə edə biləcəyidir.

BookingRepository Protocol Deseni

Arxitekturanın ən mühüm hissəsi BookingRepository protokolu idi. Bu, qraf nodu-larının birbaşa Postgres-ə əvvəl, sabit bir interfeys üzərində asılı olmasını təmin edir. Sistem technicians(), list_bookings()create_booking() metodlarını təyin edir. Uygulama zamanı PostgresBookingRepository yaxud InMemoryBookingRepository plugged edilir. Bu elastiklik lokal testlər üçün bellə datanın istifadəsinə, istehsalda isə Postgres istifadəsinə imkan verir.

Qraf Nodu-larında Məlumat Axını

Actual booking prosesində yalnız iki nod repository-yə müraciət edir. Generate schedule options nodu list_bookings() çağırır—Postgres istifadə edərkən bunun SELECT sorğusu olur—mövcud booking-ləri yüklənir və texniklərin məlumatları eməl olunur. Deterministic qaydalar tətbiq edilir: sonrakı 7 gün, bazar günləri atlanan, müəyyən başlama vaxtları və sürmə. Confirm booking nodu isə create_booking() çağırır və yazılış əməliyyatı yerinə yetirir. Sistem təkrar overlap yoxlaması edilir, appointment təsdiqlənir və booking.id state-ə əlavə edilir.

Checkpointer Arxitekturası

LangGraph-ın checkpointer-i conversation state-ini saxlayır. Hər turn-də AgentState update-lənir, messages, booking_details, calculated_price, time_options və digər sahələr eməl olunur. DATABASE_URL ortam dəyişkəni təyin olunarsa, checkpointer PostgreSQL-ə keçir, əks halda yaddaşda qalır. Bu, app startup-da create_persistence() funksiyası tərəfindən idarə edilir.

Praktiki Tətbiq üçün Nəticə

Bu yeni arxitektura ilə booking agenti gerçəkten multi-session, multi-interface məhsula çevrilir. Məlumatlar persistent, synchronized və scalable olur. Məqalənin devam hissəsində Docker-lə quraşdırma və hosted Postgres instance-ə əlavə etmə göstəriləcək.

Mənbə: Towards Data Science