検索
ホームページテクノロジー周辺機器AILanggraphチュートリアル:Langgraphとは何ですか?

複雑でマルチエージェントの大手言語モデル(LLM)アプリケーションを構築していると想像してください。エキサイティングですが、さまざまなエージェントの状態を管理し、相互作用を調整し、エラーを効果的に処理するという課題があります。これは、Langgraphが役立つ場所です

Langgraphは、これらの課題に真正面に取り組むように設計されたLangchainエコシステム内のライブラリです。 Langgraphは、構造化された方法で複数のLLMエージェント(またはチェーン)を定義、調整、および実行するためのフレームワークを提供します。

エージェントのランタイムを開発するために不可欠な循環グラフの作成を可能にすることにより、開発プロセスを簡素化します。 Langgraphを使用すると、堅牢でスケーラブルで柔軟なマルチエージェントシステムを簡単に構築できます。

Langchainエコシステムの詳細を知りたい場合は、この紹介をLangchainの紹介をお勧めします。

langgraphとは?

langgraphを使用すると、LLMをできるだけ簡単に使用して、ステートフルでマルチアクターアプリケーションを作成できます。 Langchainの機能を拡張し、洗練されたエージェントのランタイムを開発するために極めて重要な周期的なグラフを作成および管理する機能を導入します。 Langgraphのコア概念には、グラフ構造、状態管理、および調整が含まれます。

グラフ構造

指示されたグラフとしてアプリケーションを想像してください。 Langgraphでは、各ノードはLLMエージェントを表し、エッジはこれらのエージェント間の通信チャネルです。この構造により、各エージェントが特定のタスクを実行し、必要に応じて他のエージェントに情報を渡す明確で管理可能なワークフローが可能になります。

状態管理

Langgraphの傑出した機能の1つは、自動状態管理です。この機能により、複数の相互作用にわたって情報を追跡および維持できます。エージェントがタスクを実行するにつれて、状態は動的に更新され、システムがコンテキストを維持し、新しい入力に適切に応答するようにします。

調整

langgraphは、エージェントが正しい順序で実行され、必要な情報がシームレスに交換されることを保証します。この調整は、複数のエージェントが共通の目標を達成するために協力する必要がある複雑なアプリケーションにとって不可欠です。データの流れと一連の操作を管理することにより、Langgraphは、開発者がエージェント調整の複雑さではなく、アプリケーションの高レベルのロジックに集中できるようにします。

なぜlanggraph?

上で述べたように、Langgraphは複雑なLLMアプリケーションを操作する開発者にいくつかの重要な利点を提供します。 Langgraphが提供する現実世界の利点のいくつかは次のとおりです

単純化された開発

ランググラフは、州の管理とエージェントの調整に関連する複雑さを抽象化します。これは、開発者がデータの一貫性と適切な実行順序を確保する基礎となるメカニズムを心配することなく、ワークフローとロジックを定義できることを意味します。この単純化は、開発プロセスを加速し、エラーの可能性を減らします。ゲームチェンジャーです!

柔軟性

Langgraphを使用すると、開発者は独自のエージェントロジックと通信プロトコルを定義する柔軟性を持っています。これにより、特定のユースケースに合わせた高度にカスタマイズされたアプリケーションが可能になります。さまざまな種類のユーザーリクエストを処理できるチャットボットや、複雑なタスクを実行するマルチエージェントシステムが必要な場合でも、Langgraphは必要なものを正確に構築するためのツールを提供します。それはあなたに創造する力を与えることです。

スケーラビリティ

Langgraphは、大規模なマルチエージェントアプリケーションの実行をサポートするために構築されています。その堅牢なアーキテクチャは、大量の相互作用と複雑なワークフローを処理し、ニーズに合わせて成長できるスケーラブルなシステムの開発を可能にします。これにより、パフォーマンスと信頼性が重要なエンタープライズレベルのアプリケーションやシナリオに適しています。

フォールトトレランス

信頼性は、Langgraphの設計における中核的な考慮事項です。ライブラリには、エラーを優雅に処理するメカニズムが含まれており、個々のエージェントが問題に遭遇した場合でもアプリケーションが動作し続けることができるようにします。この障害のトレランスは、複雑なマルチエージェントシステムの安定性と堅牢性を維持するために不可欠です。心の安らぎはただの特徴です。

langgraph

を始めましょう

Langgraphと基本的な概念が何であるかを見てみましょう。

インストール

Langgraphをインストールするには、PIP:

を使用できます

基本的な概念

pip install -U langgraph
ノード:ノードは、Langgraph内の作業単位を表します。通常、次のような特定のタスクを実行するPython関数です。

LLM

との対話

ツールまたはAPIの呼び出し
    いくつかのデータ操作を実行する
  • ユーザー入力の受信
  • ビジネスロジックの実行
  • Langgraphでは、graph.add_node(name、value)syntaxを使用してノードを追加できます。
  • エッジ:エッジは、ノード間の通信チャネルです。情報の流れと実行の順序を定義します。 graph.add_edge(node1、node2)syntaxを使用してエッジを追加できます
  • 状態:状態は、グラフのノードによって時間とともに更新される中央のオブジェクトです。アプリケーションの内部状態を管理し、アプリケーションの要件に応じてオーバーライドまたは追加できます。この状態は、次のようなものを保持できます
    • 会話履歴:エージェントとユーザーの間のメッセージのリスト。
    • コンテキストデータ:現在のタスクまたはインタラクションに関連する情報。
    • 内部変数:エージェントの進捗と動作を追跡するためのフラグ、カウンター、またはその他の変数。
    • 単純なランググラフアプリケーションの構築
    Langgraphを使用して基本的なチャットボットアプリケーションを作成する段階的な例です。

    ステップ1:stategraph

    を定義します

    ステートグラフオブジェクトを定義して、チャットボットをステートマシンとして構成します。状態は、タイプリストの単一のキーメッセージで定義されたクラスオブジェクトであり、add_messages()関数を使用して、それらを上書きするのではなく新しいメッセージを追加します。

    ステップ2:LLMを初期化し、チャットボットノードとして追加

    このチャットボット関数は、グラフに「チャットボット」という名前のノードとして追加されています。
    pip install -U langgraph
    ステップ3:エッジを設定

    シンプルなチャットボットを構築しているため、チャットボットノードをグラフのエントリポイントと仕上げポイントの両方として設定して、プロセスを開始して終了する場所を示します。

    ステップ4:グラフをコンパイルして視覚化します

    グラフをコンパイルしてコンパイルされたグラフオブジェクトを作成します。オプションでは、以下のコードを使用してグラフ構造を視覚化できます。
    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)

    ステップ5:チャットボットを実行します
    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)

    最後に、ループを実装して、ユーザーに入力を継続的に促し、グラフを介して処理し、アシスタントの応答を印刷します。ユーザーが「終了」、「終了」、または「Q」を入力すると、ループが終了します。

    高度なLanggraphの特徴

    # Set entry and finish points
    graph_builder.set_entry_point("chatbot")
    graph_builder.set_finish_point("chatbot")
    基本をカバーしたので、いくつかの高度な機能を見てみましょう。

    Langgraphチュートリアル:Langgraphとは何ですか?カスタムノードタイプ

    langgraphを使用すると、複雑なエージェントロジックを実装するためにカスタムノードタイプを作成できます。これにより、アプリケーションの動作に対する柔軟性と制御が提供されます

    ここでは、カスタムロジックをカプセル化してLLMと対話するクラスMyCustomNodeを定義します。これにより、複雑なノード動作を実装するためのより構造化され、保守可能な方法が提供されます。

    エッジタイプ
    graph = graph_builder.compile()
    from IPython.display import Image, display
    try:
        display(Image(graph.get_graph().draw_mermaid_png()))
    except Exception:
        pass

    Langgraphは、さまざまなエッジタイプをサポートして、ノード間のさまざまな通信パターンを処理します。便利なタイプの1つは、ノードの出力に基づいて意思決定を可能にする条件付きエッジです。

    条件付きエッジを作成するには、3つのコンポーネントが必要です
    1. アップストリームノード:ノードの出力は次のステップを決定します。
    2. 関数:この関数は、上流のノードの出力を評価し、決定を表す文字列を返す次のノードを決定します。
    3. マッピング:このマッピングは、機能の可能な結果を​​、実行する対応するノードにリンクします。
    4. Pseudocodeの例:

    ここで、「モデル」ノードが呼び出された後、グラフ(「end」)を終了してユーザーに戻るか、継続(「続行」)を呼び、ユーザーが決定するものにdeしてツールを呼び出すことができます!

    状態管理
    pip install -U langgraph
    Langgraphは、SQLite、PostgreSQL、MongoDBなどの外部データベースの使用、またはAmazon S3、Google Cloud Storage、Azure Blobストレージなどのクラウドストレージソリューションを使用して、エージェントの状態を保存および取得するための強力な州管理手法を提供し、信頼性とスケーラビリティを可能にします。

    州管理にSQLiteデータベースを使用する例は次のとおりです。

    エラー処理

    langgraphは、エラー処理のメカニズムも提供します:

    例外:ノード関数は、実行中にエラーを信号にするための例外を提起できます。グラフがクラッシュするのを防ぐために、これらの例外をキャッチして処理できます。
    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)
    再試行メカニズム:ネットワークの問題やAPIタイムアウトなどの一時的なエラーを処理するために、ノード内にRetryロジックを実装できます。

    ロギング:ロギングを使用してエラーを記録し、グラフの実行を追跡します。

    Langgraphの実際のアプリケーション

      langgraphを使用して、幅広いアプリケーションを構築できます。
    • チャットボット
    • Langgraphは、幅広いユーザーリクエストを処理できる洗練されたチャットボットを開発するのに最適です。複数のLLMエージェントを活用することにより、これらのチャットボットは自然言語クエリを処理し、正確な応答を提供し、異なる会話トピックをシームレスに切り替えることができます。状態を管理し、インタラクションを調整する機能により、チャットボットがコンテキストを維持し、一貫したユーザーエクスペリエンスを提供することが保証されます。
    • 自律エージェント
    自律的な意思決定を必要とするアプリケーションの場合、Langgraphは、ユーザー入力と事前定義されたロジックに基づいて独立してタスクを実行できるエージェントの作成を可能にします。

    これらのエージェントは、複雑なワークフローを実行し、他のシステムと対話し、動的に新しい情報に適応できます。 Langgraphの構造化されたフレームワークにより、各エージェントが効率的かつ効果的に動作するようになり、自動化されたカスタマーサポート、データ処理、システム監視などのタスクに適しています。

    マルチエージェントシステム

    ランググラフは、複数のエージェントが共通の目標を達成するために協力するアプリケーションの構築に優れています。たとえば、さまざまなエージェントが在庫を管理し、注文を処理し、サプライチェーン管理システムで配信を調整できます。 Langgraphの調整機能により、各エージェントが効果的に通信し、情報を共有し、同期した方法で意思決定を行うことが保証されます。これにより、より効率的な操作とシステム全体のパフォーマンスが向上します。

    ワークフローオートメーションツール

    Langgraphを使用すると、ビジネスプロセスとワークフローの自動化が簡単になります。インテリジェントエージェントは、ドキュメント処理、承認ワークフロー、データ分析などのタスクを処理するように設計できます。明確なワークフローを定義し、Langgraphの状態管理を活用することにより、これらのツールは、人間の介入なしに複雑なアクションシーケンスを実行し、エラーを減らし、生産性を高めることができます。

    推奨システム

    パーソナライズされた推奨システムは、Langgraphの能力から大きな恩恵を受けることができます。複数のエージェントを採用してユーザーの動作、好み、コンテキストデータを分析することにより、これらのシステムは、製品、コンテンツ、またはサービスに合わせた提案を提供できます。 Langgraphの柔軟性により、さまざまなデータソースとアルゴリズムを統合し、推奨事項の精度と関連性を高めることができます。

    パーソナライズされた学習環境

    教育プラットフォームでは、Langgraphを使用して、個々の学習スタイルとニーズに応える適応学習環境を作成できます。複数のエージェントは、学生の進捗状況を評価し、カスタマイズされたエクササイズを提供し、リアルタイムのフィードバックを提供できます。 Langgraphのステートフルな性質により、システムが各学習者のパフォーマンスと好みに関する情報を保持し、よりパーソナライズされた効果的な教育体験を可能にします。

    結論

    Langgraphは、状態を管理し、エージェントの相互作用を調整するための構造化されたフレームワークを提供することにより、複雑なLLMアプリケーションの開発を大幅に簡素化します。 Langgraphの潜在的な開発には、他のLangchainコンポーネントとの統合、新しいLLMモデルのサポート、およびAcademiaからのより高度なエージェントランタイムの導入が含まれます。

    Langchainエコシステム内のアプリケーションの開発について詳しく知りたい場合は、Langchainを使用したLLMアプリケーションの開発についてこのコースをお勧めします。

以上がLanggraphチュートリアル:Langgraphとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
7強力なAIは、すべてのプロジェクトマネージャーが今習得する必要があるプロンプトをプロンプトします7強力なAIは、すべてのプロジェクトマネージャーが今習得する必要があるプロンプトをプロンプトしますMay 08, 2025 am 11:39 AM

ChatGptのようなチャットボットによって例示される生成AIは、プロジェクトマネージャーにワークフローを合理化し、プロジェクトが予定外で予算内に留まることを保証する強力なツールを提供します。 ただし、正しいプロンプトを作成するのに効果的な使用のヒンジ。 正確、詳細

AI自体の有益な支援を介して、とらえどころのないAGIの不明確な意味を定義するAI自体の有益な支援を介して、とらえどころのないAGIの不明確な意味を定義するMay 08, 2025 am 11:37 AM

人工一般情報(AGI)を定義するという課題は重要です。 AGIの進捗状況の主張は、しばしば明確なベンチマークを欠いており、定義は事前に決定された研究の方向に合うように調整されています。この記事では、定義への新しいアプローチを探ります

IBMは、2025が生成AIにおけるWatsonx.dataの役割を紹介していると考えていますIBMは、2025が生成AIにおけるWatsonx.dataの役割を紹介していると考えていますMay 08, 2025 am 11:32 AM

IBM WATSONX.DATA:エンタープライズAIデータスタックの合理化 IBMは、Watsonx.Dataを、正確でスケーラブルな生成AIソリューションの提供を加速することを目的とした企業向けの重要なプラットフォームとして位置付けています。 これは、Complを簡素化することによって達成されます

ヒューマノイドロボットマシンの台頭が近づいています。ヒューマノイドロボットマシンの台頭が近づいています。May 08, 2025 am 11:29 AM

AIおよび材料科学のブレークスルーに促進されたロボット工学の急速な進歩は、ヒューマノイドロボットの新しい時代を導く態勢が整っています。 何年もの間、産業自動化が主な焦点でしたが、ロボットの能力は急速に経験しています

Netflix Revamps Interface  -  AI検索ツールとTiktokのようなデザインのデビューNetflix Revamps Interface - AI検索ツールとTiktokのようなデザインのデビューMay 08, 2025 am 11:25 AM

10年以内のNetflixインターフェイスの最大のアップデート:よりスマートでパーソナライズされた、採用される多様なコンテンツ Netflixは、10年でユーザーインターフェイスの最大の改良を発表しました。新しい外観だけでなく、各ショーに関する情報をさらに追加し、「アンビエント」やより柔軟な構造を理解するための曖昧な概念を理解できるよりスマートなAI検索ツールを紹介し、新興ビデオゲーム、ライブイベント、スポーツイベント、その他の新しいタイプのコンテンツにおいてよりよく示すことができます。 トレンドに対応するために、モバイルの新しい垂直ビデオコンポーネントにより、ファンはトレーラーやクリップをスクロールしたり、完全なショーを見たり、他の人とコンテンツを共有したりすることが容易になります。これは、無限のスクロールと非常に成功した短いビデオWebサイトTIを思い出させます

AGIのずっと前:あなたに挑戦する3つのAIマイルストーンAGIのずっと前:あなたに挑戦する3つのAIマイルストーンMay 08, 2025 am 11:24 AM

人工知能における一般的な知能(AGI)の議論の高まりにより、人工知能が人間の知能を上回ると何が起こるかについて多くの人が考えるようになりました。この瞬間が近いか遠いかは、あなたが尋ねる人に依存しますが、私たちが焦点を当てるべき最も重要なマイルストーンであるとは思いません。どの以前のAIマイルストーンがすべての人に影響を与えますか?どんなマイルストーンが達成されましたか?ここに私が起こったと思う3つのことがあります。 人工知能は人間の弱点を上回ります 2022年の映画「社会的ジレンマ」で、人道技術センターのトリスタン・ハリスは、人工知能が人間の弱点を上回っていることを指摘しました。これはどういう意味ですか?これは、人工知能が人間を使用することができたことを意味します

Transunionのプラットフォーム変換とAIの野望に関するVenkat AchantaTransunionのプラットフォーム変換とAIの野望に関するVenkat AchantaMay 08, 2025 am 11:23 AM

TransunionのCTOであるRanganath Achantaは、2021年後半にNeustarの買収に続いて会社に入社して以来、重要な技術的変革を主導しました。

AIへの信頼が跳ね上がると、生産性が続きますAIへの信頼が跳ね上がると、生産性が続きますMay 08, 2025 am 11:11 AM

Building Trustは、ビジネスでのAIの採用を成功させるために最重要です。 これは、ビジネスプロセス内の人間の要素を考えると特に当てはまります。 従業員は、他の人と同様に、AIとその実装に関する懸念を抱いています。 デロイトの研究者はSCです

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。