> ## Documentation Index
> Fetch the complete documentation index at: https://docs.baeum.ai.kr/llms.txt
> Use this file to discover all available pages before exploring further.

# Argilla

**AI 데이터 피드백 플랫폼**입니다. LLM 응답의 품질 평가, RLHF 데이터 수집, NLP 데이터 어노테이션에 특화되어 있습니다.

## 어디에 쓰이나요?

* **LLM 평가 및 피드백**: LLM이 생성한 응답에 대해 사람이 좋음/나쁨, 정확도 등을 평가
* **RLHF 데이터 수집**: 사람의 선호도 데이터를 수집하여 LLM 파인튜닝에 활용
* **NLP 어노테이션**: 텍스트 분류, 개체명 인식, 질의응답 데이터 라벨링
* **데이터 큐레이션**: 학습 데이터셋에서 잘못된 라벨을 찾아 수정

Label Studio가 범용 데이터 라벨링 도구라면, Argilla는 **NLP/LLM 데이터**에 특화되어 있습니다. HuggingFace 생태계와 긴밀하게 통합되어 데이터셋을 HuggingFace Hub에 바로 업로드할 수 있습니다.

## Docker Compose

```yaml docker-compose.yml theme={null}
services:
  argilla:
    image: argilla/argilla-server:latest
    container_name: argilla
    restart: unless-stopped
    ports:
      - "6900:6900"
    environment:
      - ARGILLA_DATABASE_URL=postgresql+asyncpg://postgres:changeme@argilla-db:5432/argilla
      - ARGILLA_ELASTICSEARCH=http://argilla-es:9200
      - ARGILLA_AUTH_SECRET_KEY=changeme
    depends_on:
      argilla-db:
        condition: service_healthy
      argilla-es:
        condition: service_healthy

  argilla-db:
    image: postgres:17-alpine
    container_name: argilla-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=changeme
      - POSTGRES_DB=argilla
    volumes:
      - argilla_db_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 3s
      timeout: 3s
      retries: 10

  argilla-es:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.12.2
    container_name: argilla-es
    restart: unless-stopped
    environment:
      - discovery.type=single-node
      - xpack.security.enabled=false
      - ES_JAVA_OPTS=-Xms512m -Xmx512m
    volumes:
      - argilla_es_data:/usr/share/elasticsearch/data
    healthcheck:
      test: ["CMD-SHELL", "curl -f http://localhost:9200/_cluster/health || exit 1"]
      interval: 10s
      timeout: 5s
      retries: 10

volumes:
  argilla_db_data:
  argilla_es_data:
```

## 실행

```bash theme={null}
docker compose up -d
```

## 접속 확인

브라우저에서 `http://localhost:6900`으로 접속합니다.

기본 관리자 계정:

* **Username**: argilla
* **Password**: 1234

## 기본 정보

| 항목      | 값       |
| ------- | ------- |
| 웹 UI 포트 | 6900    |
| 기본 사용자  | argilla |
| 기본 비밀번호 | 1234    |

## 라이선스

| 구분     | 내용                       |
| ------ | ------------------------ |
| 라이선스   | Apache License 2.0       |
| 개인 사용  | 자유롭게 사용 가능               |
| 상업적 사용 | 자유롭게 사용 가능, 수정/재배포 제한 없음 |

## 참고

* [Argilla 공식 문서](https://docs.argilla.io/)
* [Argilla GitHub](https://github.com/argilla-io/argilla)

## 설치 점검 목록

* `docker compose up -d` 후 `docker compose ps`로 컨테이너 상태를 확인했습니다.
* 기본 포트/계정/비밀번호를 문서대로 점검했습니다.
* 운영용으로 사용할 때 기본 비밀번호/시크릿 값을 변경했습니다.
* 장애 분석을 위해 `docker compose logs -f` 확인 방법을 숙지했습니다.

## 문제 해결 가이드

* 컨테이너가 실행되지 않으면 `docker compose logs -f`로 오류 원인을 먼저 확인합니다.
* 포트 충돌이 나면 기존 프로세스를 종료하거나 포트 매핑 값을 변경합니다.
* 이미지 pull 실패 시 네트워크 연결 및 레지스트리 접근 권한을 확인합니다.
* 설정 변경 후 문제가 지속되면 `docker compose down` 후 다시 `up -d`로 재기동합니다.

## 관련 문서

<CardGroup cols={2}>
  <Card title="Setup 홈" icon="house" href="/setup/index">
    운영체제별 설치 흐름을 다시 확인합니다.
  </Card>

  <Card title="다음: Triton Inference Server" icon="arrow-right" href="/stacks/triton">
    다음 설치 단계를 이어서 진행합니다.
  </Card>
</CardGroup>
