semvec/pypi-packages huggingface dataset:
fancall 0.4.0
AI-powered video call with virtual companions
License: Apache-2.0
Requires Python: <3.13,>=3.10
Keywords: kpop, idol, fancall, livekit, ai-companion, video-call

# Fancall Backend

AI 아이돌과 실시간 영상 통화 Python 패키지

## 주요 기능

- LiveKit 기반 실시간 음성/영상 통화
- Fish Audio TTS 음성 합성
- Hedra 아바타 지원 (선택)
- 동적 설정 (voice_id, avatar_id, system_prompt)

## 설치

```bash
cd backend
poetry install
poetry run uvicorn main:app --reload
```

API 문서:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc

## LiveKit 설정

### 서버

```bash
brew install livekit
livekit-server --dev
```

서버: `ws://localhost:7880` (API Key: `devkey`, Secret: `secret`)

### Agent

```bash
cd backend
export OPENAI_API_KEY=sk-...
export FISH_API_KEY=...

# 개발 모드
python -m fancall.agent.worker dev

# 프로덕션 모드
python -m fancall.agent.worker start

# 특정 룸 연결
python -m fancall.agent.worker connect --room <room-name>
```

## 사용법

### FastAPI 통합

```python
from fancall.api.router import create_fancall_router
from fancall.factories import LiveRoomRepositoryFactory
from fancall.settings import LiveKitSettings

router = create_fancall_router(
    livekit_settings=LiveKitSettings(),
    jwt_settings=jwt_settings,
    db_session_factory=db_session_factory,
    repository_factory=LiveRoomRepositoryFactory(db_session_factory),
)
app.include_router(router, prefix="/api")
```

## 개발

```bash
poetry install
make lint
make type-check
make unit-test
make format
```

## 데이터베이스 마이그레이션

데이터베이스 스키마를 최신 상태로 업데이트하려면:

```bash
make migrate
```

새로운 마이그레이션을 생성하려면 (models.py 변경 후):

```bash
poetry run alembic revision --autogenerate -m "변경 설명"
```

## 환경 변수

### 필수 (Agent 실행 시)

| 변수 | 설명 |
|------|------|
| `OPENAI_API_KEY` | OpenAI API 키 |
| `FISH_API_KEY` | Fish Audio TTS API 키 |

### 선택 (기능 활성화)

| 변수 | 기본값 | 설명 |
|------|--------|------|
| `FANCALL_OPENAI_MODEL` | `gpt-4o-mini` | 사용할 OpenAI LLM 모델 |
| `HEDRA_ENABLED` | `false` | Hedra 아바타 활성화 |
| `HEDRA_API_KEY` | - | Hedra API 키 (enabled=true일 때 필수) |

> **참고**: LiveKit, 데이터베이스, 모델 등 추가 설정은 기본값으로 로컬 개발 가능합니다.
> 변경이 필요한 경우 `fancall/settings.py`의 Settings 클래스를 참고하세요.

## 의존성

- aioia-core (공통 인프라)
- FastAPI, SQLAlchemy, Pydantic
- livekit-api, livekit-agents

## 라이선스

Apache 2.0
trade-safety 1.12.0
AI-powered safety analysis for K-pop merchandise trading
License: Apache-2.0
Requires Python: <3.13,>=3.10
Keywords: kpop, merchandise, trade, safety, llm, scam-detection

# Trade Safety Backend

K-pop 굿즈 거래 안전성 AI 분석 Python 패키지

## 주요 기능

- LLM 기반 거래글 분석
- 다국어 지원 (한국어 번역 및 뉘앙스 설명)
- 위험 신호 탐지 (결제, 판매자, 플랫폼, 가격, 콘텐츠)
- 시장가 대비 가격 분석
- Freemium 모델

## 설치

```bash
cd backend
poetry install
```

## 사용법

### 서비스 사용

```python
from aioia_core.settings import OpenAIAPISettings
from trade_safety.service import TradeSafetyService
from trade_safety.settings import TradeSafetyModelSettings

openai_api = OpenAIAPISettings(api_key="sk-...")
model_settings = TradeSafetyModelSettings()
service = TradeSafetyService(
    openai_api=openai_api,
    model_settings=model_settings,
)

analysis = await service.analyze_trade("급처분 양도해요")
print(f"위험도: {analysis.risk_score}/100")
```

### FastAPI 통합

```python
from trade_safety.api.router import create_trade_safety_router

router = create_trade_safety_router(app_config)
app.include_router(router, prefix="/api/v2")
```

## 개발

```bash
poetry install
poetry run make test
poetry run make lint
poetry run make type-check
poetry run make format
```

## 환경 변수

| 변수명 | 필수 | 설명 |
|--------|------|------|
| `OPENAI_API_KEY` | O | OpenAI API 키 |
| `TWITTER_BEARER_TOKEN` | X | Twitter/X URL 분석용 (미설정 시 URL 분석 불가) |

## 의존성

- aioia-core (공통 인프라)
- FastAPI, SQLAlchemy, Pydantic
- OpenAI API 키 필요

## 라이선스

Apache 2.0