Skip to main content

Create and chat with your own AI idol group

Project description

AIdol Backend

AI 아이돌 그룹 생성 및 채팅 Python 패키지

주요 기능

  • AI 아이돌 그룹/멤버 CRUD
  • Google Gemini 이미지 생성 (엠블럼, 프로필)
  • 텍스트 채팅 (페르소나 기반 응답)
  • Buppy 통합 Adapter 패턴

설치

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

API 문서:

사용법

FastAPI 통합

from aidol.api.aidol import AIdolRouter
from aidol.api.companion import CompanionRouter
from aidol.factories import AIdolRepositoryFactory, CompanionRepositoryFactory

# AIdol 라우터
aidol_router = AIdolRouter(
    repository_factory=AIdolRepositoryFactory(),
    google_settings=google_settings,
    image_storage=image_storage,
)

# Companion 라우터
companion_router = CompanionRouter(
    repository_factory=CompanionRepositoryFactory(),
)

app.include_router(aidol_router.router, prefix="/api/aidol")
app.include_router(companion_router.router, prefix="/api/aidol")

개발

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

환경 변수

이미지 생성 인증 (선택, ADC 지원)

변수 설명
GOOGLE_API_KEY Google API 키 (Google AI API)
GOOGLE_CLOUD_PROJECT GCP 프로젝트 ID (Vertex AI)

인증 방법:

Option 1: Google AI API (API Key)

export GOOGLE_API_KEY=your-api-key

Option 2: Vertex AI (ADC)

export GOOGLE_CLOUD_PROJECT=your-project-id
gcloud auth application-default login  # 로컬 개발

참고: Vertex AI 사용 시 location=global이 하드코딩되어 있습니다 (Gemini 이미지 생성 모델 요구사항).

선택

변수 기본값 설명
AIDOL_OPENAI_MODEL gpt-4o-mini 채팅 응답 LLM 모델

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

의존성

  • aioia-core (공통 인프라)
  • FastAPI, SQLAlchemy, Pydantic
  • Google Generative AI (이미지 생성)
  • OpenAI (채팅)
  • Pillow (이미지 처리)

라이선스

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_aidol-1.0.0.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_aidol-1.0.0-py3-none-any.whl (42.0 kB view details)

Uploaded Python 3

File details

Details for the file py_aidol-1.0.0.tar.gz.

File metadata

  • Download URL: py_aidol-1.0.0.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for py_aidol-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6c5eaee022e18ea268b46d1fb861e8a5b6df6fb5b55c2236a069c4a6e5397bd3
MD5 0495f48c632fd9ce695d883d360a9df8
BLAKE2b-256 8e382a10dec4a5d7452c6c845227e5ce8f96a2a9269cc469a6fdb49f5b8b0ca6

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_aidol-1.0.0.tar.gz:

Publisher: publish-backend.yml on algorima/aidol

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_aidol-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: py_aidol-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 42.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for py_aidol-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c872ee73b9a244df256417dc4139c29c9ee8349f5cfa53414a71de41a1989511
MD5 dd365c306d8d6a91b9cc329b0739df00
BLAKE2b-256 16ec8de40f296c46a45e6aa5425bea7e07f8279054a27f855bdc29f76f2d2912

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_aidol-1.0.0-py3-none-any.whl:

Publisher: publish-backend.yml on algorima/aidol

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page