LangGraph CodeAct: генерация кода для помощи интеллекту в решении сложных задач

Общее введение

LangGraph CodeAct - это фреймворк, открытый на GitHub командой LangChain AI, основанный на архитектуре CodeAct (подробнее см. статью arXiv:2402.01030). Он помогает интеллекту эффективно обрабатывать сложные задачи, генерируя и выполняя код на языке Python. В настоящее время этот инструмент Манус.im, в отличие от традиционного JSON вызов функцииОн использует все возможности программирования на Python для интеграции результатов работы нескольких инструментов и сокращения количества шагов. Он поддерживает историю сообщений и сохранение переменных для непрерывного диалога или сценариев с расширенными задачами. По состоянию на 29 марта 2025 года проект по-прежнему активно поддерживается и открыт для разработчиков ИИ.

 

Список функций

  • Интеллектуальные тела генерируют и выполняют код Python для непосредственного выполнения задач.
  • Сохраняйте историю диалогов и поддерживайте непрерывные вопросы.
  • Сохраните переменные Python для удобства обращения к ним в последующих задачах.
  • адъювант .invoke() Получите окончательный результат, или .stream() Получите пошаговый результат.
  • Совместимость с пользовательскими инструментами, инструментами LangChain и MCP Инструменты.
  • Работает с любой моделью, поддерживающей LangChain (только официальное тестирование) Клод 3.7).
  • Предоставляет гибкий интерфейс песочницы пользовательского кода.
  • Слова системной подсказки можно настраивать по своему усмотрению.

 

Использование помощи

LangGraph CodeAct - это фреймворк с открытым исходным кодом для разработчиков, который работает в основном в среде Python. Здесь представлено подробное руководство по установке и использованию, которое поможет вам начать работу.

Процесс установки

Для его использования вам понадобится Python 3.8 или выше. Установка выполняется следующим образом:

  1. Скачать проект
    Откройте терминал и введите команду clone repository:
git clone https://github.com/langchain-ai/langgraph-codeact.git

Затем перейдите в каталог проекта:

cd langgraph-codeact
  1. Установка основных зависимостей
    Выполните следующую команду для установки основных зависимостей:
pip install langgraph-codeact

Установка также необходима, если вам нужно запустить примеры или использовать конкретную модель (например, Claude 3.7):

pip install langchain langchain-anthropic
  1. Настройка переменных среды
    При использовании модели Claude необходимо установить Антропология Ключ API. Введите его в терминале:
export ANTHROPIC_API_KEY="你的密钥"

Ключ можно получить на веб-сайте Anthropic. При использовании других моделей обратитесь к соответствующей документации для настройки.

Базовое использование

После завершения установки LangGraph CodeAct вызывается из Python-скрипта. вот как это сделать:

  1. Инициализация разведки
    Создайте простой сценарий, например run_agent.pyВведите следующий код:
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. Выполнение заданий
    Задайте проблему и позвольте интеллектам сгенерировать код и выполнить его. Пример:

    messages = [{"role": "user", "content": "计算 5 的平方根"}]
    result = agent.invoke({"messages": messages})
    print(result["messages"][-1].content)
    

    Выходные данные аналогичны:sqrt(5) = 2.23606797749979.

Добавить инструменты

Официальный пример предоставляет математические инструменты для расширения возможностей интеллекта. Вот как его добавить:

  1. Инструменты для определения
    Добавьте математические функции в скрипт:

    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. Инструменты интеграции
    Измените код инициализации:

    code_act = create_codeact(model, tools=tools, eval=None)
    agent = code_act.compile(checkpointer=MemorySaver())
    

    Теперь компания Intelligentsia может использовать add(3, 4) возможно sqrt(16).

Песочница пользовательского кода

Использование по умолчанию eval Выполните код, но производственная среда должна быть надежно изолирована. Пример кода:

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}", {}

Передайте эту функцию:

code_act = create_codeact(model, tools=tools, eval=custom_sandbox)

Функциональное управление

  • Сгенерировать код
    Введите "Вычислить сумму 3 и 5", и будет сгенерирован интеллект:

    result = add(3, 5)
    print(result)  # 输出 8
    
  • Диалог с историей
    Затем спросите "результат плюс 2", и разумно научитесь запоминать, что resultПоколение:

    new_result = result + 2
    print(new_result)  # 输出 10
    
  • потоковый вывод
    пользоваться .stream() Просмотрите пошаговые результаты:

    for typ, chunk in agent.stream({"messages": messages}):
    if typ == "messages":
    print(chunk[0].content, end="")
    

предостережение

  • В производственных условиях избегайте прямого использования evalПесочница необходима для его защиты.
  • Клод 3.7 - официально рекомендуемая модель, в других моделях может потребоваться корректировка для слов подсказок.
  • Определения инструментов должны соответствовать спецификации LangChain с четкими типами параметров.

Выполнив эти шаги, вы сможете построить интеллект для решения различных задач с помощью LangGraph CodeAct.

 

сценарий применения

  1. математическое образование
    Студенты вводят такие темы, как "Вычислить параболическое расстояние", а "умное тело" генерирует код и выводит результаты, чтобы помочь в обучении.
  2. обработка данных
    Разработчики используют его для автоматической генерации скриптов, обработки CSV-файлов или подсчета статистики.
  3. Эксперименты с искусственным интеллектом
    Исследователи проверяют возможности интеллекта по генерации кода для оптимизации процессов выполнения сложных задач.

 

QA

  1. Какие языки программирования поддерживаются?
    В настоящее время поддерживается только Python, так как он является основным языком исполнения.
  2. Как отладить ошибки в коде?
    пользоваться .stream() Просмотрите сгенерированный код или проверьте сообщения об ошибках в песочнице.
  3. Вы можете не использовать инструменты?
    Да, устанавливается при инициализации tools=[]Полагаясь исключительно на модель при создании кода.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...