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 или выше. Установка выполняется следующим образом:
- Скачать проект
Откройте терминал и введите команду clone repository:
git clone https://github.com/langchain-ai/langgraph-codeact.git
Затем перейдите в каталог проекта:
cd langgraph-codeact
- Установка основных зависимостей
Выполните следующую команду для установки основных зависимостей:
pip install langgraph-codeact
Установка также необходима, если вам нужно запустить примеры или использовать конкретную модель (например, Claude 3.7):
pip install langchain langchain-anthropic
- Настройка переменных среды
При использовании модели Claude необходимо установить Антропология Ключ API. Введите его в терминале:
export ANTHROPIC_API_KEY="你的密钥"
Ключ можно получить на веб-сайте Anthropic. При использовании других моделей обратитесь к соответствующей документации для настройки.
Базовое использование
После завершения установки LangGraph CodeAct вызывается из Python-скрипта. вот как это сделать:
- Инициализация разведки
Создайте простой сценарий, например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())
- Выполнение заданий
Задайте проблему и позвольте интеллектам сгенерировать код и выполнить его. Пример:messages = [{"role": "user", "content": "计算 5 的平方根"}] result = agent.invoke({"messages": messages}) print(result["messages"][-1].content)
Выходные данные аналогичны:
sqrt(5) = 2.23606797749979
.
Добавить инструменты
Официальный пример предоставляет математические инструменты для расширения возможностей интеллекта. Вот как его добавить:
- Инструменты для определения
Добавьте математические функции в скрипт: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]
- Инструменты интеграции
Измените код инициализации: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.
сценарий применения
- математическое образование
Студенты вводят такие темы, как "Вычислить параболическое расстояние", а "умное тело" генерирует код и выводит результаты, чтобы помочь в обучении. - обработка данных
Разработчики используют его для автоматической генерации скриптов, обработки CSV-файлов или подсчета статистики. - Эксперименты с искусственным интеллектом
Исследователи проверяют возможности интеллекта по генерации кода для оптимизации процессов выполнения сложных задач.
QA
- Какие языки программирования поддерживаются?
В настоящее время поддерживается только Python, так как он является основным языком исполнения. - Как отладить ошибки в коде?
пользоваться.stream()
Просмотрите сгенерированный код или проверьте сообщения об ошибках в песочнице. - Вы можете не использовать инструменты?
Да, устанавливается при инициализацииtools=[]
Полагаясь исключительно на модель при создании кода.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...