LangGraph CodeAct: generar código para ayudar a las inteligencias a resolver tareas complejas
Últimos recursos sobre IAPublicado hace 4 meses Círculo de intercambio de inteligencia artificial 1.4K 00
Introducción general
LangGraph CodeAct es un marco abierto en GitHub por el equipo LangChain AI, basado en la arquitectura CodeAct (véase el artículo arXiv:2402.01030 para más detalles). Ayuda a las inteligencias a procesar eficientemente tareas complejas generando y ejecutando código Python. Esta herramienta está siendo Manus.im, a diferencia del tradicional JSON llamada de funciónUtiliza toda la potencia de programación de Python para integrar la salida de múltiples herramientas y reducir el número de pasos. Admite el historial de mensajes y el guardado de variables para diálogos continuos o escenarios de tareas avanzadas. A 29 de marzo de 2025, el proyecto sigue manteniéndose activamente y abierto a desarrolladores de IA.
Lista de funciones
- Los organismos inteligentes generan y ejecutan código Python para completar tareas directamente.
- Guarda el historial de diálogos y apoya las preguntas continuas.
- Conserva las variables de Python para facilitar su consulta en tareas posteriores.
- adyuvante
.invoke()
Obtener el resultado final, o.stream()
Obtén resultados paso a paso. - Compatible con herramientas personalizadas, herramientas LangChain y MCP Herramientas.
- Funciona con cualquier modelo compatible con LangChain (sólo pruebas oficiales) Claude 3.7).
- Proporciona una interfaz de caja de arena de código personalizado para mayor flexibilidad.
- Las palabras de aviso del sistema pueden ajustarse libremente.
Utilizar la ayuda
LangGraph CodeAct es un framework de código abierto para desarrolladores que se ejecuta principalmente a través del entorno Python. Aquí tienes una guía detallada de instalación y uso para ayudarte a empezar.
Proceso de instalación
Necesitará Python 3.8 o superior para poder utilizarlo. Los pasos de instalación son los siguientes:
- Descargar proyecto
Abra un terminal e introduzca el comando Clonar Repositorio:
git clone https://github.com/langchain-ai/langgraph-codeact.git
A continuación, vaya al directorio del proyecto:
cd langgraph-codeact
- Instalación de dependencias básicas
Ejecute el siguiente comando para instalar las dependencias básicas:
pip install langgraph-codeact
La instalación también es necesaria si necesita ejecutar ejemplos o utilizar un modelo específico (por ejemplo, Claude 3.7):
pip install langchain langchain-anthropic
- Configuración de variables de entorno
Cuando se utiliza el modelo Claude, es necesario establecer el parámetro Antrópico Clave API. Introdúzcala en el terminal:
export ANTHROPIC_API_KEY="你的密钥"
La clave puede obtenerse en el sitio web de Anthropic. Si utiliza otros modelos, consulte la documentación correspondiente para su configuración.
Uso básico
Una vez completada la instalación, se llama a LangGraph CodeAct desde un script de Python. a continuación se explica cómo hacerlo:
- Inicialización de la Inteligencia
Cree una secuencia de comandos sencilla comorun_agent.py
introduce el siguiente código:
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())
- Tareas en curso
Introduce un problema y deja que las inteligencias generen código y lo ejecuten. Ejemplo:messages = [{"role": "user", "content": "计算 5 的平方根"}] result = agent.invoke({"messages": messages}) print(result["messages"][-1].content)
El resultado es similar:
sqrt(5) = 2.23606797749979
.
Añadir herramientas
El ejemplo oficial proporciona herramientas matemáticas para potenciar las inteligencias. He aquí cómo añadirlo:
- Herramientas de definición
Añade funciones matemáticas al 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]
- Herramientas de integración
Modificar el código de inicialización:code_act = create_codeact(model, tools=tools, eval=None) agent = code_act.compile(checkpointer=MemorySaver())
Intelligentsia ya puede utilizar
add(3, 4)
tal vezsqrt(16)
.
Sandbox de código personalizado
Uso por defecto eval
Ejecute el código, pero el entorno de producción debe estar aislado de forma segura. Código de ejemplo:
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}", {}
Pasa esta función:
code_act = create_codeact(model, tools=tools, eval=custom_sandbox)
Función destacada Operación
- Generar código
Introduzca "Calcular la suma de 3 y 5", y se generará la inteligencia:result = add(3, 5) print(result) # 输出 8
- Diálogo con la Historia
Entonces pregunta "resultado más 2", e inteligentemente aprende a recordar queresult
Generación:new_result = result + 2 print(new_result) # 输出 10
- salida de streaming
utilizar.stream()
Ver resultados paso a paso:for typ, chunk in agent.stream({"messages": messages}): if typ == "messages": print(chunk[0].content, end="")
advertencia
- Los entornos de producción evitan el uso directo de
eval
Hay que protegerlo con una caja de arena. - Claude 3.7 es el modelo oficial recomendado, puede ser necesario ajustar otros modelos para las palabras clave.
- Las definiciones de las herramientas deben ajustarse a la especificación LangChain con tipos de parámetros claros.
Con estos pasos, puedes construir inteligencias para resolver diversas tareas utilizando LangGraph CodeAct.
escenario de aplicación
- educación matemática
Los alumnos introducen temas como "Calcular distancia parabólica" y el cuerpo inteligente genera código y emite resultados para facilitar el aprendizaje. - tratamiento de datos
Los desarrolladores lo utilizan para generar automáticamente scripts, procesar archivos CSV o calcular estadísticas. - Experimentos de IA
Los investigadores prueban las capacidades de generación de código de las inteligencias para optimizar los procesos de tareas complejas.
CONTROL DE CALIDAD
- ¿Qué lenguajes de programación son compatibles?
Actualmente sólo se admite Python, ya que es el lenguaje de ejecución principal. - ¿Cómo depurar errores de código?
utilizar.stream()
Vea el código generado, o compruebe la salida de la caja de arena para los mensajes de error. - ¿No puede utilizar herramientas?
Sí, ajustado en la inicializacióntools=[]
basándose únicamente en el modelo para generar código.
© declaración de copyright
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Artículos relacionados
Sin comentarios...