Skip to main content

pycorex - AI API統合のための軽量Pythonコアパッケージ

統一されたAI APIアクセスとスケーラブルなアプリケーション構築を支援する軽量Pythonコアパッケージ。

概要

pycorex は、Google Gemini, Imagen, ComfyUI など多様なAI APIおよびライブラリへのアクセスを統合し、スケーラブルなPythonアプリケーションを迅速に構築するための軽量なコア・ユーティリティライブラリです。本パッケージは、プロンプト生成、画像生成、AIモデルとの連携など、複雑なAIワークフローを効率的に管理するための機能を提供します。 アプリケーションの初期化や設定管理については、親プロジェクトである libcore-hnghttps://github.com/kaioman/libcore-hng.git)を参照してください。

主な機能

  • 統一されたAIクライアント: Google Gemini, Imagen, ComfyUI など、主要なAIサービスへの統一されたインターフェースを提供します(随時追加予定)
  • 高度なプロンプト生成: 柔軟なテンプレートと設定に基づいたプロンプト生成機能により、AIモデルの性能を最大限に引き出します。
  • 画像生成ワークフローの管理: ComfyUIとの連携により、複雑な画像生成ワークフローをPythonコードから直接制御できます。
  • 拡張性とモジュール性: 新しいAIサービスや機能を追加しやすいモジュール構造を採用しています。

インストール

pycorexpip を使ってインストールできます。

pip install pycorex

使い方

基本的な使用例を以下に示します。

GeminiClient の使用例

import pycorex.configs.app_init as app
from pycorex.gemini_client import GeminiClient
from pycorex.exceptions.no_candidates_error import NoCandidatesError

# アプリ初期化
app.init_app(__file__, "app_config.json", "gcp_config.json", "pycorex.json.enc")

# GeminiClientを初期化
client = GeminiClient(
    api_key=app.core.config.gemini.api_key_vertexai,
    project_id=app.core.config.vertexai.project_id,
    location=app.core.config.vertexai.location
)

# プロンプトを設定
prompt = "リクルートスーツの女性が居酒屋で酒をあおっている"

# 画像生成を実行 
response = client.generate_image(
    prompt=prompt,
    model=GeminiClient.GeminiModel.GEMINI_3_0_PRO_IMAGE_PREVIEW,
    aspect_ratio=GeminiClient.AspectRatio.SQUARE,
    image_size=GeminiClient.ImageSize.TWO_K,
    harm_category = GeminiClient.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
    safety_filter_level = GeminiClient.SafetyFilterLevel.BLOCK_ONLY_HIGH
)

# 画像ファイルを出力する
for idx, image_bytes in enumerate(response["result"]):
    with open(f"image_{idx}.png", "wb") as f:
        f.write(image_bytes)
    print(f"Saved: image_{idx}.png")

プロンプト生成の例

import pycorex.configs.app_init as app
from pycorex.utils.pony_prompt_generator import PonyPromptGenerator

# アプリ初期化
app.init_app(__file__, "app_config.json", "gcp_config.json", "pycorex.json.enc")

# PonyPromptGeneratorのインスタンスを作成
pony_generator = PonyPromptGenerator(
    persona_path="tests/prompt/pony/persona/Aoi.json",
    camera_path="tests/prompt/pony/camera_angules.json",
    wardrobe_path="tests/prompt/pony/wardrobe.json",
    environment_path="tests/prompt/pony/environments.json"
)

# プロンプトを生成
positive_prompt, negative_prompt, image_width, image_height = self.prompt_generator.generate_prompt(
    level=prompt_level,
    target_scene_id=target_scene_id,
    test_outfit_id=test_outfit_id,
    test_scene_id_override=test_scene_id_override,
    test_camera_name=test_camera_name,
)

print(f"Generated Positive Prompt: {positive_prompt[:100]}...")
print(f"Generated Negative Prompt: {negative_prompt[:100]}...")
print(f"Generated Image Resolution: {image_width}x{image_height}")

開発

リポジトリをクローンし、開発環境をセットアップする方法です。

git clone https://github.com/kaioman/pycorex.git
cd pycorex

貢献

貢献を歓迎します!バグ報告や機能提案、プルリクエストをお待ちしております。

ライセンス

このプロジェクトは BSD-3-Clause ライセンスの下で公開されています。詳細については LICENSE ファイルをご覧ください。

Download files

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

Source Distribution

pycorex-1.0.34.tar.gz (30.9 kB view details)

Uploaded Source

Built Distribution

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

pycorex-1.0.34-py3-none-any.whl (39.0 kB view details)

Uploaded Python 3

File details

Details for the file pycorex-1.0.34.tar.gz.

File metadata

  • Download URL: pycorex-1.0.34.tar.gz
  • Upload date:
  • Size: 30.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pycorex-1.0.34.tar.gz
Algorithm Hash digest
SHA256 e9fc03028684fa22d1234b8fbff70f6ea9fcff2209521acd8e5a36af897408bf
MD5 653c0b112181883a06676e1786f55ebf
BLAKE2b-256 448768caff647ba59bab8d5cd4ba4c05bf5816e2876f966897fb73acbfc29698

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycorex-1.0.34.tar.gz:

Publisher: release.yml on kaioman/pycorex

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

File details

Details for the file pycorex-1.0.34-py3-none-any.whl.

File metadata

  • Download URL: pycorex-1.0.34-py3-none-any.whl
  • Upload date:
  • Size: 39.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pycorex-1.0.34-py3-none-any.whl
Algorithm Hash digest
SHA256 bf129610405c58e935c69307fd08164cbb008e8d8f32c7d060e47ae199479925
MD5 233f3349baf9e829003611f20873edf3
BLAKE2b-256 2196b32a51c4b1aa0f62ff4957f5019ea82a0c70a7bf043c915043eab5b063d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pycorex-1.0.34-py3-none-any.whl:

Publisher: release.yml on kaioman/pycorex

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