Tutorial Langgraph: Apakah Langgraph dan Cara Menggunakannya?
Mar 06, 2025 am 10:57 AMBayangkan anda membina aplikasi model bahasa besar yang kompleks dan pelbagai agen (LLM). Ia menarik, tetapi ia datang dengan cabaran: menguruskan keadaan pelbagai ejen, menyelaraskan interaksi mereka, dan mengendalikan kesilapan dengan berkesan. Di sinilah Langgraph dapat membantu.
Langgraph adalah perpustakaan dalam ekosistem Langchain yang direka untuk menangani cabaran-cabaran ini. Langgraph menyediakan rangka kerja untuk menentukan, menyelaras, dan melaksanakan pelbagai ejen LLM (atau rantai) dengan cara yang berstruktur.
Ia memudahkan proses pembangunan dengan membolehkan penciptaan graf kitaran, yang penting untuk membangunkan runtime ejen. Dengan Langgraph, kita dapat dengan mudah membina sistem multi-agen yang mantap, berskala, dan fleksibel.
Jika anda ingin mengetahui lebih lanjut mengenai ekosistem Langchain, saya cadangkan pengenalan ini kepada Langchain.
Apa itu Langgraph?
Langgraph membolehkan kami membuat aplikasi multi-pelakon yang menggunakan LLMs dengan mudah. Ia memanjangkan keupayaan Langchain, memperkenalkan keupayaan untuk mencipta dan mengurus graf kitaran, yang penting untuk membangunkan runtime agen yang canggih. Konsep teras Langgraph termasuk: struktur graf, pengurusan negeri, dan koordinasi.
Struktur graf
Bayangkan aplikasi anda sebagai graf yang diarahkan. Di Langgraph, setiap nod mewakili ejen LLM, dan tepi adalah saluran komunikasi antara agen -agen ini. Struktur ini membolehkan aliran kerja yang jelas dan terkawal, di mana setiap ejen melakukan tugas tertentu dan menyampaikan maklumat kepada ejen lain seperti yang diperlukan.
Pengurusan Negeri
Salah satu ciri standout Langgraph adalah pengurusan keadaan automatiknya. Ciri ini membolehkan kita mengesan dan meneruskan maklumat dalam pelbagai interaksi. Sebagai ejen melaksanakan tugas mereka, Negeri dikemas kini secara dinamik, memastikan sistem mengekalkan konteks dan bertindak balas dengan sewajarnya kepada input baru.
koordinasi
Langgraph memastikan ejen melaksanakan mengikut urutan yang betul dan maklumat yang diperlukan ditukar dengan lancar. Penyelarasan ini sangat penting untuk aplikasi yang kompleks di mana pelbagai ejen perlu bekerjasama untuk mencapai matlamat yang sama. Dengan menguruskan aliran data dan urutan operasi, Langgraph membolehkan pemaju memberi tumpuan kepada logik peringkat tinggi aplikasi mereka dan bukannya selok-belok koordinasi ejen.
mengapa Langgraph?
Seperti yang saya nyatakan di atas, Langgraph menawarkan beberapa kelebihan penting bagi pemaju yang bekerja dengan aplikasi LLM yang kompleks. Berikut adalah beberapa manfaat dunia yang ditawarkan Langgraph.
Pembangunan mudah
Langgraph abstrak dari kerumitan yang berkaitan dengan pengurusan negeri dan koordinasi ejen. Ini bermakna pemaju boleh menentukan aliran kerja dan logik mereka tanpa bimbang tentang mekanisme asas yang memastikan konsistensi data dan perintah pelaksanaan yang betul. Penyederhanaan ini mempercepatkan proses pembangunan dan mengurangkan kemungkinan kesilapan. Ia adalah penukar permainan!
fleksibiliti
Dengan Langgraph, pemaju mempunyai fleksibiliti untuk menentukan protokol logik dan komunikasi ejen mereka sendiri. Ini membolehkan aplikasi yang disesuaikan disesuaikan dengan kes penggunaan tertentu. Sama ada anda memerlukan chatbot yang boleh mengendalikan pelbagai jenis permintaan pengguna atau sistem multi-agen yang melakukan tugas yang kompleks, Langgraph menyediakan alat untuk membina apa yang anda perlukan. Ini semua memberi anda kuasa untuk membuat.
Skalabiliti
Langgraph dibina untuk menyokong pelaksanaan aplikasi multi-agen berskala besar. Senibina yang mantapnya dapat mengendalikan jumlah interaksi yang tinggi dan aliran kerja yang kompleks, membolehkan pembangunan sistem berskala yang dapat berkembang dengan keperluan anda. Ini menjadikannya sesuai untuk aplikasi dan senario peringkat perusahaan di mana prestasi dan kebolehpercayaan adalah kritikal.
toleransi kesalahan
Kebolehpercayaan adalah pertimbangan utama dalam reka bentuk Langgraph. Perpustakaan termasuk mekanisme untuk mengendalikan kesilapan dengan anggun, memastikan aplikasi anda dapat terus beroperasi walaupun ejen individu menghadapi masalah. Toleransi kesalahan ini adalah penting untuk mengekalkan kestabilan dan keteguhan sistem pelbagai agen yang kompleks. Ketenangan fikiran hanyalah ciri jauh.
Bermula dengan Langgraph
mari kita lihat bagaimana kita dapat menubuhkan Langgraph dan konsep asas.
Pemasangan
untuk memasang Langgraph, anda boleh menggunakan PIP:
pip install -U langgraph
Konsep Asas
nod: nod mewakili unit kerja dalam langgraph anda. Mereka biasanya fungsi python yang melaksanakan tugas tertentu, seperti:
- Berinteraksi dengan LLM
- memanggil alat atau api
- Melaksanakan beberapa manipulasi data
- Menerima Input Pengguna
- Melaksanakan logik perniagaan
di langgraph, anda boleh menambah nod menggunakan sintaks graph.add_node (nama, nilai).
tepi: tepi adalah saluran komunikasi antara nod. Mereka menentukan aliran maklumat dan perintah pelaksanaan. Anda boleh menambah tepi menggunakan sintaks graph.add_edge (node1, node2).
Negeri: Negeri adalah objek pusat yang dikemas kini dari masa ke masa oleh nod dalam graf. Ia menguruskan keadaan dalaman permohonan anda dan boleh ditindih atau ditambah kepada, bergantung kepada keperluan aplikasi. Negeri ini boleh memegang perkara seperti:
- Sejarah Perbualan: Senarai mesej antara ejen dan pengguna.
- Data Kontekstual: Maklumat yang berkaitan dengan tugas atau interaksi semasa.
- Pembolehubah dalaman: bendera, kaunter, atau pembolehubah lain untuk mengesan kemajuan dan tingkah laku ejen.
membina aplikasi Langgraph mudah
Berikut adalah contoh langkah demi langkah untuk membuat aplikasi chatbot asas menggunakan Langgraph.
Langkah 1: Tentukan Stategraph
Tentukan objek Stategraph untuk menyusun chatbot sebagai mesin negara. Negeri adalah objek kelas yang ditakrifkan dengan satu mesej utama senarai jenis dan menggunakan fungsi add_messages () untuk menambah mesej baru daripada menimpa mereka.
pip install -U langgraph
Langkah 2: Mulakan LLM dan tambahkannya sebagai nod chatbot
di sini, kami memulakan model AzureChatopenai dan membuat fungsi chatbot mudah yang mengambil mesej negeri sebagai input dan menghasilkan tindak balas mesej (yang kemudiannya dilampirkan ke negeri).
fungsi chatbot ini ditambah sebagai nod bernama "chatbot" ke graf.
from typing import Annotated from typing_extensions import TypedDict from langgraph.graph import StateGraph from langgraph.graph.message import add_messages class State(TypedDict): # messages have the type "list". # The add_messages function appends messages to the list, rather than overwriting them messages: Annotated[list, add_messages] graph_builder = StateGraph(State)Langkah 3: Tetapkan tepi
Oleh kerana kami sedang membina chatbot yang mudah, kami menetapkan nod chatbot sebagai kedua -dua titik masuk dan menamatkan graf untuk menunjukkan di mana untuk memulakan dan menamatkan proses.
from langchain_openai import AzureChatOpenAI llm = AzureChatOpenAI( openai_api_version=os.environ["AZURE_OPENAI_API_VERSION"], azure_deployment=os.environ["AZURE_OPENAI_CHAT_DEPLOYMENT_NAME"], ) def chatbot(state: State): return {"messages": [llm.invoke(state["messages"])]} ‘’’The first argument is the unique node name # The second argument is the function or object that will be called whenever the node is used.’’’ graph_builder.add_node("chatbot", chatbot)Langkah 4: Menyusun dan menggambarkan graf
menyusun graf untuk membuat objek CompiledGraph, dan secara pilihan, kita dapat memvisualisasikan struktur graf menggunakan kod di bawah:
# Set entry and finish points graph_builder.set_entry_point("chatbot") graph_builder.set_finish_point("chatbot")
Langkah 5: Jalankan chatbot
Akhirnya, kami melaksanakan gelung untuk terus mendorong pengguna untuk input, memprosesnya melalui graf, dan mencetak respons pembantu. Gelung keluar apabila pengguna jenis "berhenti", "keluar", atau "q".
Ciri -ciri Langgraph Advanced
graph = graph_builder.compile() from IPython.display import Image, display try: display(Image(graph.get_graph().draw_mermaid_png())) except Exception: pass
Sekarang kita menutup asas -asas, mari kita lihat beberapa ciri canggih.
Jenis Node Custom
Langgraph membolehkan anda membuat jenis nod tersuai untuk melaksanakan logik ejen kompleks. Ini memberikan fleksibiliti dan kawalan ke atas tingkah laku aplikasi anda.
di sini, kami menentukan kelas mycustomnode yang merangkumi logik tersuai dan berinteraksi dengan LLM. Ini menyediakan cara yang lebih berstruktur dan boleh dipelihara untuk melaksanakan tingkah laku nod kompleks.
# Run the chatbot while True: user_input = input("User: ") if user_input.lower() in ["quit", "exit", "q"]: print("Goodbye!") break for event in graph.stream({"messages": [("user", user_input)]}): for value in event.values(): print("Assistant:", value["messages"][-1].content)
jenis kelebihan
Langgraph menyokong jenis kelebihan yang berbeza untuk mengendalikan pelbagai corak komunikasi antara nod. Satu jenis berguna ialah kelebihan bersyarat, yang membolehkan membuat keputusan berdasarkan output nod.
Untuk membuat kelebihan bersyarat, anda memerlukan tiga komponen:
- nod hulu: output nod memutuskan langkah seterusnya.
- Fungsi: Fungsi ini menilai output nod hulu dan menentukan nod seterusnya untuk melaksanakan, mengembalikan rentetan yang mewakili keputusan.
- Pemetaan: Pemetaan ini menghubungkan hasil kemungkinan fungsi ke nod yang sepadan untuk dilaksanakan.
Inilah contoh dalam pseudocode:
pip install -U langgraph
di sini, selepas nod "Model" dipanggil, kita boleh keluar dari graf ("akhir") dan kembali kepada pengguna, atau kami boleh meneruskan ("Teruskan") dan panggil alat -bergantung pada apa yang pengguna memutuskan!
Pengurusan Negeri
Langgraph menawarkan teknik pengurusan negeri yang kuat, termasuk menggunakan pangkalan data luaran seperti penyelesaian SQLite, PostgreSQL, dan MongoDB, atau awan seperti Amazon S3, Google Cloud Storage, dan penyimpanan Blob Azure untuk menyimpan dan mengambil semula keadaan ejen anda, membolehkan kebolehpercayaan dan skalabiliti.
Berikut adalah contoh menggunakan pangkalan data SQLite untuk Pengurusan Negeri:
from typing import Annotated from typing_extensions import TypedDict from langgraph.graph import StateGraph from langgraph.graph.message import add_messages class State(TypedDict): # messages have the type "list". # The add_messages function appends messages to the list, rather than overwriting them messages: Annotated[list, add_messages] graph_builder = StateGraph(State)pengendalian ralat
Langgraph juga menyediakan mekanisme untuk pengendalian ralat:
- Pengecualian: Fungsi nod boleh menimbulkan pengecualian untuk memberi isyarat kesilapan semasa pelaksanaan. Anda boleh menangkap dan mengendalikan pengecualian ini untuk mengelakkan graf anda daripada terhempas.
- Mekanisme Retry: Anda boleh melaksanakan logik semula dalam nod anda untuk mengendalikan kesilapan sementara, seperti isu rangkaian atau waktu tamat API.
- Pembalakan: Gunakan pembalakan untuk merakam kesilapan dan menjejaki pelaksanaan graf anda.
Langgraph boleh digunakan untuk membina pelbagai aplikasi.
chatbots
Langgraph sangat sesuai untuk membangunkan chatbots canggih yang boleh mengendalikan pelbagai permintaan pengguna. Dengan memanfaatkan pelbagai ejen LLM, chatbots ini dapat memproses pertanyaan bahasa semulajadi, memberikan respons yang tepat, dan beralih dengan lancar antara topik perbualan yang berbeza. Keupayaan untuk menguruskan interaksi negeri dan menyelaras memastikan bahawa chatbot mengekalkan konteks dan menyampaikan pengalaman pengguna yang koheren.
Ejen Autonomi
Untuk aplikasi yang memerlukan pengambilan keputusan autonomi, Langgraph membolehkan penciptaan ejen yang boleh melaksanakan tugas secara bebas berdasarkan input pengguna dan logik yang telah ditetapkan.
Ejen -ejen ini boleh melaksanakan aliran kerja kompleks, berinteraksi dengan sistem lain, dan menyesuaikan diri dengan maklumat baru secara dinamik. Rangka kerja berstruktur Langgraph memastikan setiap ejen beroperasi dengan cekap dan berkesan, menjadikannya sesuai untuk tugas -tugas seperti sokongan pelanggan automatik, pemprosesan data, dan pemantauan sistem.
sistem multi-agen
Langgraph cemerlang dalam membina aplikasi di mana pelbagai ejen bekerjasama untuk mencapai matlamat yang sama. Sebagai contoh, ejen yang berbeza boleh menguruskan inventori, proses pesanan, dan menyelaraskan penghantaran dalam sistem pengurusan rantaian bekalan. Keupayaan koordinasi Langgraph memastikan bahawa setiap ejen berkomunikasi dengan berkesan, berkongsi maklumat dan membuat keputusan dengan cara yang disegerakkan. Ini membawa kepada operasi yang lebih cekap dan prestasi sistem keseluruhan yang lebih baik.
alat automasi aliran kerja
dengan Langgraph, mengautomasikan proses perniagaan dan aliran kerja menjadi mudah. Ejen pintar boleh direka untuk mengendalikan tugas seperti pemprosesan dokumen, aliran kerja kelulusan, dan analisis data. Dengan mendefinisikan aliran kerja yang jelas dan memanfaatkan pengurusan negeri Langgraph, alat -alat ini dapat melaksanakan urutan tindakan yang kompleks tanpa campur tangan manusia, mengurangkan kesilapan dan meningkatkan produktiviti.
Sistem CadanganSistem cadangan peribadi boleh mendapat manfaat daripada keupayaan Langgraph. Dengan menggunakan pelbagai ejen untuk menganalisis tingkah laku pengguna, keutamaan, dan data kontekstual, sistem ini dapat menyampaikan cadangan yang disesuaikan untuk produk, kandungan, atau perkhidmatan. Fleksibiliti Langgraph membolehkan mengintegrasikan pelbagai sumber data dan algoritma, meningkatkan ketepatan dan kaitan cadangan.
Persekitaran Pembelajaran Peribadi
Dalam platform pendidikan, Langgraph boleh digunakan untuk mewujudkan persekitaran pembelajaran adaptif yang memenuhi gaya dan keperluan pembelajaran individu. Pelbagai ejen boleh menilai kemajuan pelajar, menyediakan latihan tersuai, dan menawarkan maklum balas masa nyata. Sifat negara Langgraph memastikan bahawa sistem mengekalkan maklumat mengenai prestasi dan keutamaan setiap pelajar, yang membolehkan pengalaman pendidikan yang lebih diperibadikan dan berkesan.
Kesimpulan
Langgraph secara signifikan memudahkan pembangunan aplikasi LLM kompleks dengan menyediakan rangka kerja berstruktur untuk menguruskan interaksi ejen negara dan penyelarasan.
Perkembangan yang berpotensi untuk Langgraph termasuk integrasi dengan komponen Langchain yang lain, sokongan untuk model LLM baru, dan pengenalan runtime ejen yang lebih maju dari akademik.
Jika anda ingin mengetahui lebih lanjut mengenai membangunkan aplikasi dalam ekosistem Langchain, saya cadangkan kursus ini untuk membangunkan aplikasi LLM dengan Langchain.
Atas ialah kandungan terperinci Tutorial Langgraph: Apakah Langgraph dan Cara Menggunakannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

NotebookLM Google adalah alat pengambilan nota AI pintar yang dikuasakan oleh Gemini 2.5, yang cemerlang dalam meringkaskan dokumen. Walau bagaimanapun, ia masih mempunyai batasan penggunaan alat, seperti topi sumber, pergantungan awan, dan ciri "Discover" baru -baru ini

Berikut adalah sepuluh trend yang menarik yang membentuk semula landskap AI perusahaan. Komitmen kewangan untuk llmsorganizations secara signifikan meningkatkan pelaburan mereka di LLM, dengan 72% menjangkakan perbelanjaan mereka meningkat tahun ini. Pada masa ini, hampir 40% a

Pelaburan adalah berkembang pesat, tetapi modal sahaja tidak mencukupi. Dengan penilaian yang semakin meningkat dan tersendiri pudar, pelabur dalam dana usaha yang berfokus pada AI mesti membuat keputusan utama: Beli, membina, atau rakan kongsi untuk mendapatkan kelebihan? Inilah cara menilai setiap pilihan dan PR

Pendedahan: Syarikat saya, Tirias Research, telah berunding untuk IBM, NVIDIA, dan syarikat -syarikat lain yang disebutkan dalam artikel ini. Pemandu Growth Surge dalam penggunaan AI generatif lebih dramatik daripada unjuran yang paling optimis dapat diramalkan. Kemudian, a

Jurang antara penggunaan yang meluas dan kesediaan emosi mendedahkan sesuatu yang penting tentang bagaimana manusia terlibat dengan pelbagai sahabat digital mereka. Kami memasuki fasa kewujudan bersama di mana algoritma menenun ke dalam harian kami

Hari -hari itu bernombor, terima kasih kepada AI. Cari lalu lintas untuk perniagaan seperti tapak perjalanan kayak dan syarikat edtech Chegg menurun, sebahagiannya kerana 60% carian di laman web seperti Google tidak mengakibatkan pengguna mengklik sebarang pautan, menurut satu stud

Mari kita bercakap mengenainya. Analisis terobosan AI yang inovatif ini adalah sebahagian daripada liputan lajur Forbes yang berterusan pada AI terkini, termasuk mengenal pasti dan menerangkan pelbagai kerumitan AI yang memberi kesan (lihat pautan di sini). Menuju ke Agi dan

Mari kita lihat dengan lebih dekat apa yang saya dapati paling penting - dan bagaimana Cisco dapat membina usaha semasa untuk merealisasikan cita -citanya. (Nota: Cisco adalah pelanggan penasihat firma saya, Moor Insights & Strategy.) Berfokus pada AIS dan CU Agentik dan CU
