LangGraph CodeAct: generar código para ayudar a las inteligencias a resolver tareas complejas

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:

  1. 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
  1. 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
  1. 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:

  1. Inicialización de la Inteligencia
    Cree una secuencia de comandos sencilla como run_agent.pyintroduce 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())
  1. 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:

  1. 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]
    
  2. 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 vez sqrt(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 que resultGeneració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 evalHay 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

  1. 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.
  2. tratamiento de datos
    Los desarrolladores lo utilizan para generar automáticamente scripts, procesar archivos CSV o calcular estadísticas.
  3. 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

  1. ¿Qué lenguajes de programación son compatibles?
    Actualmente sólo se admite Python, ya que es el lenguaje de ejecución principal.
  2. ¿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.
  3. ¿No puede utilizar herramientas?
    Sí, ajustado en la inicialización tools=[]basándose únicamente en el modelo para generar código.
© declaración de copyright
AiPPT

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...