複雑でマルチエージェントの大手言語モデル(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を使用してエッジを追加できます
- 状態:状態は、グラフのノードによって時間とともに更新される中央のオブジェクトです。アプリケーションの内部状態を管理し、アプリケーションの要件に応じてオーバーライドまたは追加できます。この状態は、次のようなものを保持できます
- 会話履歴:エージェントとユーザーの間のメッセージのリスト。 コンテキストデータ:現在のタスクまたはインタラクションに関連する情報。
- 内部変数:エージェントの進捗と動作を追跡するためのフラグ、カウンター、またはその他の変数。
- 単純なランググラフアプリケーションの構築
ステップ1:stategraph
を定義しますステートグラフオブジェクトを定義して、チャットボットをステートマシンとして構成します。状態は、タイプリストの単一のキーメッセージで定義されたクラスオブジェクトであり、add_messages()関数を使用して、それらを上書きするのではなく新しいメッセージを追加します。
ステップ2:LLMを初期化し、チャットボットノードとして追加
このチャットボット関数は、グラフに「チャットボット」という名前のノードとして追加されています。 pip install -U langgraph
ステップ3:エッジを設定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)
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を使用すると、複雑なエージェントロジックを実装するためにカスタムノードタイプを作成できます。これにより、アプリケーションの動作に対する柔軟性と制御が提供されます
ここでは、カスタムロジックをカプセル化して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つのコンポーネントが必要です- アップストリームノード:ノードの出力は次のステップを決定します。 関数:この関数は、上流のノードの出力を評価し、決定を表す文字列を返す次のノードを決定します。
- マッピング:このマッピングは、機能の可能な結果を、実行する対応するノードにリンクします。
- 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のステートフルな性質により、システムが各学習者のパフォーマンスと好みに関する情報を保持し、よりパーソナライズされた効果的な教育体験を可能にします。
結論Langchainエコシステム内のアプリケーションの開発について詳しく知りたい場合は、Langchainを使用したLLMアプリケーションの開発についてこのコースをお勧めします。
以上がLanggraphチュートリアル:Langgraphとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

Dreamweaver Mac版
ビジュアル Web 開発ツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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