Experts.js: GPT-4o 기반 멀티 에이전트 시스템 구축을 위한 라이브러리
소개
최근 공개된 OpenAI의 GPT-4o 모델과 이를 활용한 Experts.js 라이브러리에 대해 소개합니다. 이 라이브러리는 복잡한 멀티 AI 에이전트 시스템을 쉽게 구축할 수 있도록 도와줍니다. ‘Omniscient’의 약자인 GPT-4o 모델은 더 향상된 성능을 제공합니다. 새로운 Assistants API는 AI 에이전트의 사용성을 크게 개선하며, 파일 및 이미지를 지식 소스로 활용할 수 있는 기능을 갖추고 있습니다. 이와 함께 Experts.js는 이러한 API를 간편하게 사용할 수 있도록 도와주는 라이브러리입니다.
멀티 에이전트 시스템(MAS, Multi-Agent System)은 하나의 메인 에이전트(Router)가 각기 다른 전문가 에이전트들을 호출하여 복잡한 작업을 수행할 수 있는 에이전트 구축 방식입니다. Experts.js는 특히 이러한 멀티 에이전트 시스템을 개발할 때 복잡성을 줄이고 사용성을 높이는 데 중점을 둔 프레임워크, Experts.js 모델을 사용하면 OpenAI의 새로운 GPT-4o 모델과 Assistants API를 사용한 개인용 어시스턴트를 직접 개발할 수 있습니다.
사용법
설치방법
Express.js는 npm을 통해 설치할 수 있으며, 간단하게 사용할 수 있습니다.
# 설치
npm install experts
// 불러오기
import { Assistant, Tool, Thread } from "experts";
Assistant와 Tool
Assistant는 각각의 AI Agent를 나타내는 주요 객체입니다. 각 Assistant는 이름, 설명 및 지시사항을 필요로 하며, 생성 시 다양한 옵션을 설정할 수 있습니다. 다음은 간단한 Assistant 예시입니다:
class MyAssistant extends Assistant {
constructor() {
const name = "My Assistant";
const description = "...";
const instructions = "...";
super(name, description, instructions, {
model: "gpt-4-turbo",
tools: [{ type: "file_search" }],
temperature: 0.1,
tool_resources: {
file_search: {
vector_store_ids: [process.env.VECTOR_STORE_ID],
},
},
});
}
}
const assistant = await MyAssistant.create();
Tools는 Assistant의 하위 클래스이며, Assistant가 사용할 수 있는 도구를 지정하는데 사용합니다. 다음은 Tool의 예시 코드입니다:
class EchoTool extends Tool {
constructor() {
const name = "Echo Tool";
const description = "Echo";
const instructions = "Echo the same text back to the user";
super(name, description, instructions, {
parentsTools: [
{
type: "function",
function: {
name: EchoTool.toolName,
description: description,
parameters: {
type: "object",
properties: { message: { type: "string" } },
required: ["message"],
},
},
},
],
});
}
}
다음과 같이 Assistant에게 특정 도구를 사용하도록 추가할 수도 있습니다:
class MainAssistant extends Assistant {
constructor() {
const name = "Company Assistant";
const description = "...";
const instructions = "...";
super(name, description, instructions);
this.addAssistantTool(EchoTool);
}
}
더 자세한 사용 방법에 대해서는 Experts.js GitHub 저장소를 참고해주세요!
라이선스
Experts.js 프로젝트는 MIT License로 공개되었습니다.
더 읽어보기
Experts.js GitHub 저장소
Experts.js 및 Multi Agents System(MAS) 소개 글
위 글에 소개된 다른 Multi Agent System 프로젝트들
파이토치 한국어 커뮤니티에 소개되었던 Agent 관련 글들
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래쪽에 좋아요를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~