Transformers Agents 실전·API — Agent 클래스
Transformers Agents 실전·API
Transformers의 에이전트 API를 볼게요. 주요 클래스는 Agent를 기반으로 한 CodeAgent와 ReAct 계열이에요. 이 페이지는 Transformer 에이전트의 핵심 기반 클래스들이에요.
에이전트 타입
CodeAgent— 한 번에(one-shot) 코드를 생성해 작업을 해결하고 한 번에 실행ReactAgent— 한 스텝씩 진행, 각 스텝은 생각(thought)→도구 호출·실행ReactJsonAgent— 도구 호출을 JSON으로 작성ReactCodeAgent— 도구 호출을 Python 코드로 작성
주요 메서드
run(task, stream=False, reset=True, **kwargs) — 주어진 작업을 수행.
from transformers.agents import ReactCodeAgent
agent = ReactCodeAgent(tools=[])
agent.run("What is the result of 2 power 3.7384?")
- stream=True — 스텝이 실행되는 대로 스트리밍으로 산출
final_answer— 에이전트 로그를 바탕으로 작업에 대한 최종 답 제공
에이전트 생성
from transformers import CodeAgent, HfEngine
llm_engine = HfEngine(model="meta-llama/Meta-Llama-3-70B-Instruct")
agent = CodeAgent(tools=[], llm_engine=llm_engine, add_base_tools=True)
llm_engine— 언어 모델 엔진 (InferenceClient 기반HfEngine)tools— 도구 리스트 (빈 리스트 가능,add_base_tools=True로 기본 도구 상자 사용)system_prompt,grammar,planning_interval등 추가 파라미터
주의 사항
CodeAgent는 LLM이 생성한 임의 코드를 실행해요. 안전하지 않은 import는 추가하지 않도록 주의하고, 불법 연산을 시도하거나 Python 오류가 나면 실행이 중단돼요. 승인된 모듈은 additional_authorized_imports에 명시해요.
agent = CodeAgent(
tools=[], model=model,
additional_authorized_imports=['requests', 'bs4']
)
agent.run("Could you get me the title of the page at url 'https://huggingface.co/blog'?")