LangGraph CodeAct : générer du code pour aider les intelligences à résoudre des tâches complexes
Introduction générale
LangGraph CodeAct est un cadre ouvert sur GitHub par l'équipe LangChain AI, basé sur l'architecture CodeAct (voir l'article arXiv:2402.01030 pour plus de détails). Il aide les intelligences à traiter efficacement des tâches complexes en générant et en exécutant du code Python. Cet outil est en cours de Manus.im, par opposition au traditionnel JSON appel de fonctionIl utilise toute la puissance de programmation de Python pour intégrer les résultats de plusieurs outils et réduire le nombre d'étapes. Il prend en charge l'historique des messages et la sauvegarde des variables pour un dialogue continu ou des scénarios de tâches avancées. Depuis le 29 mars 2025, le projet est toujours activement maintenu et ouvert aux développeurs d'IA.
Liste des fonctions
- Les corps intelligents génèrent et exécutent du code Python pour accomplir des tâches directement.
- Sauvegarde de l'historique du dialogue et soutien au questionnement continu.
- Préserver les variables Python pour faciliter leur référencement dans les tâches ultérieures.
- adjuvant
.invoke()
Obtenir le résultat final, ou.stream()
Obtenir des résultats étape par étape. - Compatible avec les outils personnalisés, les outils de LangChain et les outils de MCP Outils.
- Fonctionne avec n'importe quel modèle pris en charge par LangChain (tests officiels uniquement) Claude 3.7).
- Fournit une interface de bac à sable de code personnalisé pour plus de flexibilité.
- Les mots de l'invite du système peuvent être librement ajustés.
Utiliser l'aide
LangGraph CodeAct est un framework open source pour les développeurs qui fonctionne principalement dans l'environnement Python. Voici un guide d'installation et d'utilisation détaillé pour vous aider à démarrer.
Processus d'installation
Vous aurez besoin de Python 3.8 ou d'une version plus récente pour pouvoir l'utiliser. Les étapes d'installation sont les suivantes :
- Télécharger le projet
Ouvrez un terminal et entrez la commande Clone Repository :
git clone https://github.com/langchain-ai/langgraph-codeact.git
Allez ensuite dans le répertoire du projet :
cd langgraph-codeact
- Installation des dépendances de base
Exécutez la commande suivante pour installer les dépendances de base :
pip install langgraph-codeact
L'installation est également nécessaire si vous devez exécuter des exemples ou utiliser un modèle spécifique (par exemple Claude 3.7) :
pip install langchain langchain-anthropic
- Configuration des variables d'environnement
Lorsque vous utilisez le modèle Claude, vous devez définir le paramètre Anthropique Clé API. Saisissez-la dans le terminal :
export ANTHROPIC_API_KEY="你的密钥"
La clé peut être obtenue sur le site internet d'Anthropic. En cas d'utilisation d'autres modèles, se référer à la documentation correspondante pour la configuration.
Utilisation de base
Une fois l'installation terminée, LangGraph CodeAct est appelé à partir d'un script Python. Voici comment procéder :
- Initialisation de l'intelligence
Créez un script simple tel querun_agent.py
, entrez le code suivant :
from langchain.chat_models import init_chat_model
from langgraph_codeact import create_codeact
from langgraph.checkpoint.memory import MemorySaver
# 初始化模型
model = init_chat_model("claude-3-7-sonnet-latest", model_provider="anthropic")
# 创建 CodeAct 实例(无工具示例)
code_act = create_codeact(model, tools=[], eval=None)
# 编译智能体,启用内存保存
agent = code_act.compile(checkpointer=MemorySaver())
- Exécution des tâches
Saisissez un problème et laissez les intelligences générer un code et l'exécuter. Exemple :messages = [{"role": "user", "content": "计算 5 的平方根"}] result = agent.invoke({"messages": messages}) print(result["messages"][-1].content)
Le résultat est similaire :
sqrt(5) = 2.23606797749979
.
Ajouter des outils
L'exemple officiel fournit des outils mathématiques pour renforcer les intelligences. Voici comment l'ajouter :
- Outils de définition
Ajouter des fonctions mathématiques au script :from langchain_core.tools import tool import math @tool def add(a: float, b: float) -> float: """加法工具""" return a + b @tool def sqrt(a: float) -> float: """平方根工具""" return math.sqrt(a) tools = [add, sqrt]
- Outils d'intégration
Modifier le code d'initialisation :code_act = create_codeact(model, tools=tools, eval=None) agent = code_act.compile(checkpointer=MemorySaver())
Intelligentsia peut désormais utiliser
add(3, 4)
peut-êtresqrt(16)
.
Bac à sable pour les codes personnalisés
Utilisation par défaut eval
Exécutez le code, mais l'environnement de production doit être sécurisé. Exemple de code :
def custom_sandbox(code: str, _locals: dict) -> tuple[str, dict]:
try:
with open("temp.py", "w") as f:
f.write(code)
import subprocess
result = subprocess.check_output(["python", "temp.py"], text=True)
return result, {}
except Exception as e:
return f"错误: {e}", {}
Transmettre cette fonction :
code_act = create_codeact(model, tools=tools, eval=custom_sandbox)
Fonction en vedette Fonctionnement
- Générer le code
Saisissez "Calculer la somme de 3 et 5", et l'intelligence sera générée :result = add(3, 5) print(result) # 输出 8
- Dialogue avec l'histoire
Demandez ensuite "résultat plus 2", et apprenez intelligemment à vous en souvenir.result
Génération :new_result = result + 2 print(new_result) # 输出 10
- sortie en continu
utiliser.stream()
Voir les résultats étape par étape :for typ, chunk in agent.stream({"messages": messages}): if typ == "messages": print(chunk[0].content, end="")
mise en garde
- Les environnements de production évitent l'utilisation directe des
eval
Le bac à sable est nécessaire pour le protéger. - Claude 3.7 est le modèle officiel recommandé, mais d'autres modèles peuvent nécessiter un ajustement pour les mots clés.
- Les définitions d'outils doivent être conformes à la spécification LangChain avec des types de paramètres clairs.
Grâce à ces étapes, vous pouvez construire des intelligences pour résoudre diverses tâches avec LangGraph CodeAct.
scénario d'application
- enseignement des mathématiques
Les élèves saisissent des sujets tels que "Calculer la distance parabolique" et le corps intelligent génère du code et des résultats pour faciliter l'apprentissage. - traitement des données
Les développeurs l'utilisent pour générer automatiquement des scripts, traiter des fichiers CSV ou calculer des statistiques. - Expériences d'IA
Les chercheurs testent les capacités de génération de codes des intelligences pour optimiser les processus de tâches complexes.
QA
- Quels sont les langages de programmation pris en charge ?
Actuellement, seul Python est pris en charge, car il s'agit du principal langage d'exécution. - Comment déboguer les erreurs de code ?
utiliser.stream()
Affichez le code généré ou vérifiez les messages d'erreur dans le bac à sable. - Pouvez-vous ne pas utiliser d'outils ?
Oui, défini lors de l'initialisationtools=[]
En effet, il s'agit d'un modèle qui s'appuie uniquement sur le modèle pour générer du code.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...