콘텐츠로 건너뛰기

문서 검색

입력하면 문서의 모든 페이지를 검색합니다.

문서 메뉴
설명대상 독자 · 개발자 및 기여자

엔티티 도메인 모델

모든 Agent-Lab 애플리케이션을 구성하는 엔티티와 그 영속화 방식

이 페이지는 영어에서 기계 번역되었습니다. 차이가 있는 경우 원문이 우선합니다.영어 원문 읽기

Agent-Lab 애플리케이션은 agent_lab/domain/에 정의된 하나의 도메인 모델을 공유합니다. 동일한 모델이 REST API 스키마, 영속성 계층, 에이전트 런타임을 모두 뒷받침하므로, 한 번만 익혀 두면 모든 엔드포인트가 무엇을 읽고 쓰는지 알 수 있습니다.

엔티티 도메인 모델

엔티티

엔티티 모델링 대상
Agent LLM 에이전트 인스턴스입니다. agent_name, agent_type(레지스트리를 기준으로 검증됨), 활성화 플래그, 타임스탬프를 가집니다. 하나의 구현으로 여러 개의 구성된 인스턴스를 만들 수 있습니다.
AgentSettings 에이전트 인스턴스의 키-값 구성입니다. 프롬프트(Jinja2 템플릿), 컬렉션 이름, temperature, 사용자 정의 값 등을 담습니다. 값 하나당 최대 16,000자까지 저장할 수 있으며, POST /agents/update_setting을 통해 에이전트 동작을 조정하는 곳이 바로 여기입니다.
LanguageModel 에이전트가 사용할 수 있는 언어 모델과 해당 공급자 연결입니다.
LanguageModelSettings 모델별 파라미터(temperature, 최대 토큰 수 등)로, /llms 엔드포인트를 통해 관리합니다.
Integration 외부 통합(예: AI 공급자)과 그 구성입니다. 시크릿은 데이터베이스가 아닌 Vault에 저장됩니다.
Message 대화의 한 턴입니다. 역할(human / assistant / tool), 내용, response_data, 스레드 링크(replies_to)를 가집니다. LangGraph 체크포인트를 통해 에이전트 메모리와 함께 영속화됩니다.
Attachment 메시지에 첨부된 파일입니다. 원본 내용, 파싱된 내용, 검색에 사용되는 임베딩 컬렉션 참조를 가집니다.

다음은 영속화된 에이전트 설정의 예시로, 음성 메모 에이전트의 프롬프트와 사용자 정의 값을 notebooks/08_test_agent_type-multiagent-voice-assistant.ipynb에서 가져온 것입니다.

에이전트 설정 예시

데이터 저장 위치

Agent-Lab은 세 개의 PostgreSQL 데이터베이스(와 Redis)를 사용합니다. 이들은 배포 가이드에서 프로비저닝되며, db.url, db.vectors, db.checkpoints로 구성합니다(구성 레퍼런스 참고).

저장소 내용
db.url 관계형 데이터: 에이전트, 설정, 모델, 통합, 메시지, 첨부 파일
db.vectors pgvector 임베딩 — 벡터 검색 및 조회(/attachments/embeddings)
db.checkpoints LangGraph 체크포인트 데이터 — 상호작용 간에 유지되는 에이전트 메모리
Redis (broker.url) 장시간 실행되는 작업의 상태 업데이트를 위한 Pub/Sub 브로커이며, MCP OAuth 클라이언트 저장소로도 사용됩니다

보안 및 시크릿 관리

통합 자격 증명, 모델 API 키, 구성 페이로드 자체 등의 시크릿은 Vault로 관리합니다. 데이터베이스에는 참조만 저장되며, 민감한 값은 시작 시점과 필요 시점에 Vault에서 조회됩니다. Vault로 시크릿 관리와 구성 레퍼런스를 참고하세요.