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-2.6.0.tar.gz (42.9 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-2.6.0-py3-none-any.whl (66.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for py_aidol-2.6.0.tar.gz
Algorithm Hash digest
SHA256 d0849484b6857f36fc26199a963f32e48ce4bfba79f966b315bc01cc73a06ddc
MD5 4285c7a38f6006384a4273c5a185bfd6
BLAKE2b-256 e876c7ec7847f33076f52b7e379d9b6140c1111c80d14995bb62447da13e409a

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_aidol-2.6.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-2.6.0-py3-none-any.whl.

File metadata

  • Download URL: py_aidol-2.6.0-py3-none-any.whl
  • Upload date:
  • Size: 66.5 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-2.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0dd5947096fc2d517296e11d423178634d4b6efeec527c17a91eed1e224b72f1
MD5 8ea3942dac506db7215199d743ec19e1
BLAKE2b-256 fe2a73599179df41914238f75e57caf614039317cebd1a6b596fe2542c79feeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_aidol-2.6.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