言語エージェントツリー検索(lat)を使用した体系的なAI推論の力のロックを解除する
質問に答えるだけでなく、問題を体系的に解決し、その経験から学び、数段階のステップを戦略的に計画するAIアシスタントを想像してください。 言語エージェントツリー検索(LATS)は、モンテカルロツリー検索(MCTS)の戦略的計画機能と反応の系統的な推論を組み合わせた最先端のAIフレームワークです。LATSは、包括的な意思決定ツリーを構築し、複数のソリューションを同時に調査し、継続的な学習を通じて意思決定プロセスを改善します。 垂直AIエージェントに焦点を当てたこの記事では、Llamaindexとsambanova.aiを使用したLATSエージェントの実用的な実装について説明します。
主要な学習目標:
反応(推論の演技)プロンプトフレームワークとその思考アクションと観察サイクルを把握します。
反応剤が説明されました
言語エージェントツリー検索エージェントの理解lats and React:相乗的なアプローチ
コストに関する考慮事項:いつlats思考:
現在の状況を分析します。
分析に基づいて一連のアクションを選択します。
(以前にカバーされた:llamaindexとgeminiを使用した反応剤の実装)
言語エージェントツリー検索エージェントの理解言語エージェントツリー検索(LATS)は、洗練された意思決定と計画のための言語モデル機能とMCTを融合する高度なフレームワークです。
LATは、入力クエリによって開始される継続的な探索、評価、および学習を通じて動作します。 過去の探求と反省の検索ツリーを網羅した長期的な記憶を維持し、将来の決定を導きます。
Latsは、有望なパスを体系的に選択し、各決定点で潜在的なアクションをサンプリングし、値関数を使用してメリットを評価し、それらを端末状態にシミュレートして有効性を測定します。 コードのデモンストレーションでは、ツリーの拡張とスコア評価を示します。
lats and react:synergistic approach
latsは、Reactの思考 - アクション - 観測サイクルをツリー検索に統合します:
各ノードは、Reactの思考生成、アクション選択、および観察コレクションを使用します。
ただし、このアプローチは計算的に集中的です。 Latsが最も有益である場合を調べてみましょう
タスクは複数のソリューション(プログラミングなど)を備えた複雑です。
間違いはコストがかかり、正確さが最重要です(例:財務、医療診断)。
過去の試みからの学習は有利です(例えば、複雑な製品検索)。
latsを避けてください:
LlamaindexとLats LatsとLlamainDexを使用して推奨システムを構築しましょう
!pip install llama-index-agent-lats llama-index-core llama-index-readers-file duckduckgo-search llama-index-llms-sambanovasystems import nest_asyncio; nest_asyncio.apply()
ステップ2:構成とAPIのセットアップ
Sambanova LLM APIキーをセットアップします(を置き換えます):<your-api-key></your-api-key>
import os os.environ["SAMBANOVA_API_KEY"] = "<your-api-key>" from llama_index.core import Settings from llama_index.llms.sambanovasystems import SambaNovaCloud llm = SambaNovaCloud(model="Meta-Llama-3.1-70B-Instruct", context_window=100000, max_tokens=1024, temperature=0.7, top_k=1, top_p=0.01) Settings.llm = llm</your-api-key>
ステップ3:Tool-Search(duckduckgo)の定義
from duckduckgo_search import DDGS from llama_index.core.tools import FunctionTool def search(query:str) -> str: """Searches DuckDuckGo for the given query.""" req = DDGS() response = req.text(query,max_results=4) context = "" for result in response: context += result['body'] return context search_tool = FunctionTool.from_defaults(fn=search)
ステップ4:llamaindexエージェントランナー - lats
from llama_index.agent.lats import LATSAgentWorker from llama_index.core.agent import AgentRunner agent_worker = LATSAgentWorker(tools=[search_tool], llm=llm, num_expansions=2, verbose=True, max_rollouts=3) agent = AgentRunner(agent_worker)
ステップ5:エージェントを実行
query = "Looking for a mirrorless camera under 00 with good low-light performance" response = agent.chat(query) print(response.response)
ステップ6:エラー処理(例を使用した例) - このセクションでは、エージェントが「私はまだ考えている」を返すケースを処理する方法を提供します。 コードは元の入力で提供されています。agent.list_tasks()
結論
latsはAIエージェントアーキテクチャを大幅に進めます。強力ですが、その計算上の要求は慎重に考慮する必要がありますよくある質問
FAQSセクションは、元の入力で提供されています。
(注:メディアの所有権に関する声明は変わらないままです。)以上がLats:推奨システムのLlamainDexを備えたAIエージェントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。