Déverrouiller la puissance du raisonnement systématique de l'IA avec la recherche d'arbre d'agent linguistique (LATS)
Imaginez un assistant d'IA qui non seulement répond à vos questions mais qui résout systématiquement des problèmes, apprend de ses expériences et planifie stratégiquement plusieurs étapes à l'avance. La recherche sur les arbres d'agent linguistique (LATS) est un cadre d'IA de pointe qui combine le raisonnement méthodique de la réaction avec les capacités de planification stratégique de la recherche sur les arbres Monte Carlo (MCTS).
LATS construit un arbre de décision complet, explorant plusieurs solutions simultanément et affinant son processus décisionnel grâce à un apprentissage continu. En se concentrant sur les agents d'IA verticaux, cet article explore la mise en œuvre pratique des agents LATS utilisant Llamaindex et Sambanova.ai.
Objectifs d'apprentissage clés:
(Cet article fait partie du blogathon de la science des données.)
Table des matières:
Agents de réact expliqués
React (raisonnement d'acteur) est un cadre d'incitation permettant aux modèles de langage pour lutter contre les tâches à travers un processus cyclique de pensée, d'action et d'observation. Imaginez un assistant pensant à haute voix, en prenant des mesures et en apprenant des commentaires. Le cycle est:
Cette approche structurée permet aux modèles de langage de décomposer des problèmes complexes, de prendre des décisions éclairées et d'adapter leurs stratégies en fonction des résultats. Par exemple, dans un problème mathématique en plusieurs étapes, le modèle peut identifier les concepts pertinents, appliquer une formule, évaluer la logique du résultat et ajuster son approche en conséquence. Cela reflète la résolution de problèmes humains, entraînant des résultats plus fiables.
(précédemment couvert: implémentation de l'agent React utilisant Llamaindex et Gemini)
Comprendre les agents de recherche d'arborescence des agents du langage
La recherche d'arbre d'agent linguistique (LATS) est un cadre avancé fusionnant MCT avec des capacités de modèle de langue pour la prise de décision et la planification sophistiquées.
LATS fonctionne par exploration, évaluation et apprentissage continue, initiée par une requête d'entrée. Il maintient une mémoire à long terme englobant un arbre de recherche d'explorations et de réflexions passées, guidant les décisions futures.
LATS sélectionne systématiquement des chemins prometteurs, échantillonne des actions potentielles à chaque point de décision, évalue leur mérite en utilisant une fonction de valeur et les simule à un état terminal pour évaluer l'efficacité. La démonstration du code illustrera l'expansion des arbres et l'évaluation du score.
lats et réagir: une approche synergique
LATS intègre le cycle d'observation d'action de réflexion de React dans sa recherche d'arbre:
Cette approche, cependant, est intensive en calcul. Examinons quand les lats sont les plus bénéfiques.
Considérations de coûts: Quand utiliser LATS
Alors que LATS surpasse le COT, la réaction et d'autres méthodes dans les références, son coût de calcul est significatif. Les tâches complexes génèrent de nombreux nœuds, conduisant à plusieurs appels LLM, inadaptés aux environnements de production. Les applications en temps réel sont particulièrement difficiles en raison de la latence de chaque appel API. Les organisations doivent soigneusement peser la prise de décision supérieure de Lats contre les coûts d'infrastructure, en particulier lors de la mise à l'échelle.
Utiliser LATS quand:
Évitez les lats quand:
Construire un système de recommandation avec Llamaindex et LATS
Créons un système de recommandation à l'aide de lats et de llamaindex.
Étape 1: Configuration de l'environnement
Installez les packages nécessaires:
!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()
Étape 2: Configuration et configuration de l'API
Configurez votre touche API Sambanova LLM (Remplacez <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>
Étape 3: Définition de la recherche d'outils (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)
Étape 4: Llamaindex Agent Runner - 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)
Étape 5: Exécuter l'agent
query = "Looking for a mirrorless camera under 00 with good low-light performance" response = agent.chat(query) print(response.response)
Étape 6: Manipulation des erreurs (exemple utilisant agent.list_tasks()
) - Cette section fournit une méthode pour gérer les cas où l'agent renvoie "Je pense toujours". Le code est fourni dans l'entrée d'origine.
Conclusion
LATS fait progresser considérablement les architectures d'agent AI. Bien que puissant, ses demandes de calcul doivent être soigneusement prises en considération.
Questions fréquemment posées
La section FAQS est fournie dans l'entrée d'origine. (Remarque: La déclaration concernant la propriété des médias reste inchangée.)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!