Allgemeine Einführung
LangGraph CodeAct ist ein auf GitHub offen zugängliches Framework des LangChain AI-Teams, das auf der CodeAct-Architektur basiert (siehe Paper arXiv:2402.01030 für Details). Es hilft Intelligenzen, komplexe Aufgaben effizient zu bearbeiten, indem es Python-Code generiert und ausführt. Dieses Werkzeug wird Manus.im verwendet, im Gegensatz zu traditionellem JSON FunktionsaufrufEs nutzt die volle Programmierleistung von Python, um den Output mehrerer Tools zu integrieren und die Anzahl der Schritte zu reduzieren. Es unterstützt den Nachrichtenverlauf und die Speicherung von Variablen für kontinuierliche Dialoge oder erweiterte Aufgabenszenarien. Seit dem 29. März 2025 wird das Projekt immer noch aktiv gepflegt und ist für KI-Entwickler offen.
Funktionsliste
- Intelligente Körper erzeugen Python-Code und führen ihn aus, um Aufgaben direkt zu erledigen.
- Speichern Sie den Dialogverlauf und unterstützen Sie kontinuierliche Befragungen.
- Bewahren Sie Python-Variablen für eine einfache Referenzierung durch nachfolgende Aufgaben.
- etw. unterstützen
.invoke()
das Endergebnis abrufen, oder.stream()
Sie erhalten eine schrittweise Ausgabe. - Kompatibel mit benutzerdefinierten Tools, LangChain-Tools und MCP Werkzeuge.
- Funktioniert mit jedem LangChain-unterstützten Modell (nur offizielle Tests) Claude 3.7).
- Bietet eine benutzerdefinierte Code-Sandbox-Schnittstelle für mehr Flexibilität.
- Die Worte der Systemansage können frei eingestellt werden.
Hilfe verwenden
LangGraph CodeAct ist ein Open-Source-Framework für Entwickler, das hauptsächlich in der Python-Umgebung läuft. Hier finden Sie eine detaillierte Installations- und Nutzungsanleitung, die Ihnen den Einstieg erleichtert.
Einbauverfahren
Sie benötigen Python 3.8 oder höher, bevor Sie es verwenden können. Die Installationsschritte sind wie folgt:
- Projekt herunterladen
Öffnen Sie ein Terminal und geben Sie den Befehl Repository klonen ein:
git clone https://github.com/langchain-ai/langgraph-codeact.git
Wechseln Sie dann in das Projektverzeichnis:
cd langgraph-codeact
- Installation von Kernabhängigkeiten
Führen Sie den folgenden Befehl aus, um die grundlegenden Abhängigkeiten zu installieren:
pip install langgraph-codeact
Die Installation ist auch erforderlich, wenn Sie Beispiele ausführen oder ein bestimmtes Modell verwenden möchten (z. B. Claude 3.7):
pip install langchain langchain-anthropic
- Umgebungsvariablen konfigurieren
Wenn Sie das Modell Claude verwenden, müssen Sie die Anthropisch API-Schlüssel. Geben Sie ihn in das Terminal ein:
export ANTHROPIC_API_KEY="你的密钥"
Der Schlüssel kann von der Anthropic-Website bezogen werden. Wenn Sie andere Modelle verwenden, lesen Sie bitte die entsprechende Dokumentation zur Konfiguration.
Grundlegende Verwendung
Nach der Installation wird LangGraph CodeAct von einem Python-Skript aus aufgerufen. Hier sehen Sie, wie das geht:
- Initialisierung der Intelligenz
Erstellen Sie ein einfaches Skript wierun_agent.py
geben Sie den folgenden Code ein:
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())
- Laufende Aufgaben
Geben Sie ein Problem ein und lassen Sie die Intelligenzen einen Code generieren und ausführen. Beispiel:messages = [{"role": "user", "content": "计算 5 的平方根"}] result = agent.invoke({"messages": messages}) print(result["messages"][-1].content)
Die Ausgabe ist ähnlich:
sqrt(5) = 2.23606797749979
.
Tools hinzufügen
Das offizielle Beispiel bietet mathematische Werkzeuge zur Stärkung der Intelligenz. Hier ist, wie man es hinzufügt:
- Definitionswerkzeuge
Fügen Sie dem Skript mathematische Funktionen hinzu: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]
- Integrationswerkzeuge
Ändern Sie den Initialisierungscode:code_act = create_codeact(model, tools=tools, eval=None) agent = code_act.compile(checkpointer=MemorySaver())
Intelligentsia kann jetzt
add(3, 4)
vielleichtsqrt(16)
.
Sandbox für benutzerdefinierten Code
Standardmäßige Verwendung eval
Führen Sie den Code aus, aber die Produktionsumgebung muss in einer sicheren Sandbox untergebracht werden. Beispielcode:
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}", {}
Geben Sie diese Funktion ein:
code_act = create_codeact(model, tools=tools, eval=custom_sandbox)
Featured Function Bedienung
- Code generieren
Geben Sie "Berechne die Summe von 3 und 5" ein, und die Intelligenz wird erzeugt:result = add(3, 5) print(result) # 输出 8
- Dialog mit der Geschichte
Dann fragen Sie "Ergebnis plus 2", und lernen Sie auf intelligente Weise, sich das zu merkenresult
Generation:new_result = result + 2 print(new_result) # 输出 10
- Streaming-Ausgang
ausnutzen.stream()
Schritt-für-Schritt-Ergebnisse anzeigen:for typ, chunk in agent.stream({"messages": messages}): if typ == "messages": print(chunk[0].content, end="")
caveat
- Produktionsumgebungen vermeiden die direkte Verwendung von
eval
Sie muss durch eine Sandbox geschützt werden. - Claude 3.7 ist das offiziell empfohlene Modell, andere Modelle müssen möglicherweise für Stichwortwörter angepasst werden.
- Werkzeugdefinitionen müssen der LangChain-Spezifikation mit eindeutigen Parametertypen entsprechen.
Mit diesen Schritten können Sie Intelligenzen aufbauen, um verschiedene Aufgaben mit LangGraph CodeAct zu lösen.
Anwendungsszenario
- Matheunterricht
Die Schüler geben Themen ein, wie z. B. "Berechne die Parabeldistanz", und der intelligente Körper generiert Code und gibt Ergebnisse aus, um das Lernen zu erleichtern. - Datenverarbeitung
Entwickler verwenden es, um automatisch Skripte zu erstellen, CSV-Dateien zu verarbeiten oder Statistiken zu berechnen. - AI-Experimente
Die Forscher testen die Fähigkeit von Intelligenzen zur Codegenerierung, um komplexe Aufgabenprozesse zu optimieren.
QA
- Welche Programmiersprachen werden unterstützt?
Derzeit wird nur Python unterstützt, da es die primäre Ausführungssprache ist. - Wie lassen sich Codefehler beheben?
ausnutzen.stream()
Sehen Sie sich den generierten Code an, oder überprüfen Sie die Sandbox-Ausgabe auf Fehlermeldungen. - Können Sie keine Werkzeuge benutzen?
Ja, bei der Initialisierung eingestellttools=[]
und verlässt sich bei der Codegenerierung ausschließlich auf das Modell.