Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ assignees: []
<!-- 問題を再現できる最小限のコードを記載してください -->

```python
from genflux import GenFlux
from genflux import Genflux

client = GenFlux()
client = Genflux()
# 再現コード...
```

Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ assignees: []
<!-- 可能であれば、どのような形で使いたいかコード例で示してください -->

```python
from genflux import GenFlux
from genflux import Genflux

client = GenFlux()
client = Genflux()
# こんな感じで使いたい...
```

Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ Released: 2026-03-02
### Added

- 初回リリース
- Genflux 評価・レポート・設定 API 用の公式 Python SDK(`GenFlux`, `ConfigClient`, `ReportsClient` 等)
- GENFLUX 評価・レポート・設定 API 用の公式 Python SDK(`Genflux`, `ConfigClient`, `ReportsClient` 等)
- Pydantic v2 ベースの型付きレスポンス、httpx による HTTP クライアント
- 開発・品質: pre-commit(ruff, pyright), pip-audit, gitleaks, ライセンスコンプライアンスチェック

Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing to Genflux Python SDK
# Contributing to GENFLUX Python SDK

Genflux Python SDK へのコントリビューションを歓迎します!
GENFLUX Python SDK へのコントリビューションを歓迎します!
バグ報告・機能要望・ドキュメント改善・コードの改善、いずれも大歓迎です。

---
Expand Down
32 changes: 16 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
<picture>
<source media="(prefers-color-scheme: dark)" srcset="assets/GENFLUX_logotype_w.png" width="320">
<source media="(prefers-color-scheme: light)" srcset="assets/GENFLUX_logotype.png" width="320">
<img src="assets/GENFLUX_logotype.png" alt="Genflux" width="320">
<img src="assets/GENFLUX_logotype.png" alt="GENFLUX" width="320">
</picture>
</p>

<p align="center">
<strong>Genflux Python SDK</strong><br>
Genflux Platform 公式 Python SDK。RAG システムの回答品質スコアリング、セキュリティテスト、ポリシーチェックを Python から実行できます。
<strong>GENFLUX Python SDK</strong><br>
GENFLUX Platform 公式 Python SDK。RAG システムの回答品質スコアリング、セキュリティテスト、ポリシーチェックを Python から実行できます。
</p>

[![Version](https://img.shields.io/badge/version-0.1.2-blue.svg)](https://github.com/elith-co-jp/genflux-python-sdk/releases/tag/v0.1.2)
Expand All @@ -25,21 +25,21 @@
- [クイックスタート](./docs/QUICKSTART.md) — Config 不要で今すぐ試せるサンプル
- [ワークフロー](./docs/WORKFLOW.md) — バッチ評価、CI/CD 統合、エラーハンドリング

## Why Genflux
## Why GENFLUX

RAG システムを本番運用する際、「回答品質が十分か」「安全性に問題はないか」を継続的に検証する仕組みが不可欠です。

Genflux は **RAG の品質・安全性を数値で可視化** するプラットフォームです。この SDK を使って Python から直接評価を実行できます。
GENFLUX は **RAG の品質・安全性を数値で可視化** するプラットフォームです。この SDK を使って Python から直接評価を実行できます。

- **8 種類の評価メトリック** — Faithfulness、Hallucination、Toxicity など、RAG に必要な品質指標をワンライナーで計測
- **CI/CD 統合** — テストパイプラインに組み込み、品質劣化を自動検知([ワークフロー例](./docs/WORKFLOW.md#cicd統合))
- **セキュリティテスト** — Genflux Platform 上で Red Teaming による攻撃シミュレーションを実行し、脆弱性を事前に検出
- **ポリシーチェック** — Genflux Platform 上で AI 事業者ガイドライン準拠を自動検証
- **セキュリティテスト** — GENFLUX Platform 上で Red Teaming による攻撃シミュレーションを実行し、脆弱性を事前に検出
- **ポリシーチェック** — GENFLUX Platform 上で AI 事業者ガイドライン準拠を自動検証

```python
from genflux import GenFlux
from genflux import Genflux

client = GenFlux()
client = Genflux()
result = client.evaluation().faithfulness(
question="What is RAG?",
answer="RAG is Retrieval-Augmented Generation.",
Expand Down Expand Up @@ -138,14 +138,14 @@ if result.score < 0.8:

```mermaid
graph TB
User["Your Code"] --> GF["Genflux Client"]
User["Your Code"] --> GF["GENFLUX Client"]

GF --> CC["client.configs<br/><small>ConfigClient</small>"]
GF --> JC["client.jobs<br/><small>JobsClient</small>"]
GF --> RC["client.reports<br/><small>ReportsClient</small>"]
GF --> EC["client.evaluation()<br/><small>EvaluationClient</small>"]

CC --> API["Genflux Backend API"]
CC --> API["GENFLUX Backend API"]
JC --> API
RC --> API
EC --> API
Expand All @@ -160,7 +160,7 @@ graph TB

| クライアント | アクセス方法 | 説明 |
|---|---|---|
| `GenFlux` | `GenFlux()` | メインクライアント(認証・サブクライアント管理) |
| `Genflux` | `Genflux()` | メインクライアント(認証・サブクライアント管理) |
| `EvaluationClient` | `client.evaluation()` | 8 種類のメトリックによる評価実行 |
| `ConfigClient` | `client.configs` | RAG API 設定の CRUD |
| `JobsClient` | `client.jobs` | 非同期ジョブの作成・監視・キャンセル |
Expand All @@ -175,9 +175,9 @@ pip install genflux
## クイックスタート

```python
from genflux import GenFlux
from genflux import Genflux

client = GenFlux() # 環境変数 GENFLUX_API_KEY を使用
client = Genflux() # 環境変数 GENFLUX_API_KEY を使用

evaluator = client.evaluation()
result = evaluator.faithfulness(
Expand All @@ -193,7 +193,7 @@ print(result.reason) # "The answer is based on the provided context."
API Key は明示的に渡すこともできます。

```python
client = GenFlux(api_key="pk_xxx")
client = Genflux(api_key="pk_xxx")
```

## 評価メトリック
Expand Down Expand Up @@ -265,7 +265,7 @@ except JobFailedError as e:
| `GENFLUX_ENVIRONMENT` | `"local"` / `"dev"` / `"prod"` | `"prod"` |
| `GENFLUX_API_BASE_URL` | ベース URL の上書き(最優先) | — |

API Key は [Genflux Platform](https://www.platform.genflux.jp/) から発行してください。
API Key は [GENFLUX Platform](https://www.platform.genflux.jp/) から発行してください。

## サポート

Expand Down
62 changes: 31 additions & 31 deletions docs/API_REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- Generated by: python scripts/generate_api_reference.py --mode external -->
<!-- Generated at: 2026-03-23 07:15 UTC -->

# Genflux Python SDK - API Reference
# GENFLUX Python SDK - API Reference

Genflux Python SDK の完全な API リファレンスです。
GENFLUX Python SDK の完全な API リファレンスです。
このドキュメントはソースコードの docstring・型ヒントから**自動生成**されています。

> ⚠️ **このファイルは自動生成物です。直接編集しないでください。**
Expand All @@ -17,7 +17,7 @@ Genflux Python SDK の完全な API リファレンスです。

- [1. 概要](#1-概要)
- [2. クライアント](#2-クライアント)
- [2.1 GenFlux](#21-genflux)
- [2.1 Genflux](#21-genflux)
- [2.2 ConfigClient](#22-configclient)
- [2.3 JobsClient](#23-jobsclient)
- [2.4 ReportsClient](#24-reportsclient)
Expand All @@ -30,9 +30,9 @@ Genflux Python SDK の完全な API リファレンスです。
## 1. 概要

```python
from genflux import GenFlux
from genflux import Genflux

client = GenFlux() # GENFLUX_API_KEY 環境変数を使用
client = Genflux() # GENFLUX_API_KEY 環境変数を使用
evaluator = client.evaluation()

result = evaluator.faithfulness(
Expand All @@ -47,14 +47,14 @@ print(f"Score: {result.score}") # 0.0 ~ 1.0

```mermaid
graph TB
User["Your Code"] --> GF["Genflux Client"]
User["Your Code"] --> GF["GENFLUX Client"]

GF --> CC["client.configs<br/><small>ConfigClient</small>"]
GF --> JC["client.jobs<br/><small>JobsClient</small>"]
GF --> RC["client.reports<br/><small>ReportsClient</small>"]
GF --> EC["client.evaluation()<br/><small>EvaluationClient</small>"]

CC --> API["Genflux Backend API"]
CC --> API["GENFLUX Backend API"]
JC --> API
RC --> API
EC --> API
Expand All @@ -71,7 +71,7 @@ graph TB

| クライアント | アクセス方法 | 説明 |
|---|---|---|
| [`GenFlux`](#genflux-1) | `GenFlux()` | メインクライアント(認証・サブクライアント管理) |
| [`Genflux`](#genflux-1) | `Genflux()` | メインクライアント(認証・サブクライアント管理) |
| [`EvaluationClient`](#evaluationclient) | `client.evaluation()` | 8 種類のメトリックによる評価実行 |
| [`ConfigClient`](#configclient) | `client.configs` | RAG API 設定の CRUD |
| [`JobsClient`](#jobsclient) | `client.jobs` | 非同期ジョブの作成・監視・キャンセル |
Expand All @@ -94,9 +94,9 @@ graph TB

## 2. クライアント

### 2.1 `GenFlux`
### 2.1 `Genflux`

GenFlux APIクライアント。
Genflux APIクライアント。

#### 属性

Expand All @@ -112,23 +112,23 @@ GenFlux APIクライアント。
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| `api_key` | `str \| None` | No | API key for authentication. If not provided, uses GENFLUX_API_KEY env var. |
| `base_url` | `str \| None` | No | Base URL for the GenFlux API. If not provided, uses GENFLUX_API_BASE_URL env var or constructs from environment setting. |
| `base_url` | `str \| None` | No | Base URL for the Genflux API. If not provided, uses GENFLUX_API_BASE_URL env var or constructs from environment setting. |
| `environment` | `str \| None` | No | Environment name ("local", "dev", or "prod"). Uses GENFLUX_ENVIRONMENT env var if not provided. Defaults to "prod". |
| `timeout` | `float` | No | Request timeout in seconds (default: 60.0) |

#### 使用例

```python
from genflux import GenFlux
from genflux import Genflux

# Production (default)
client = GenFlux(api_key="pk_xxx")
client = Genflux(api_key="pk_xxx")

# Development
client = GenFlux(api_key="pk_xxx", environment="dev")
client = Genflux(api_key="pk_xxx", environment="dev")

# Local development
client = GenFlux(api_key="dev_test_key", environment="local")
client = Genflux(api_key="dev_test_key", environment="local")
```

#### メソッド
Expand All @@ -149,7 +149,7 @@ client = GenFlux(api_key="dev_test_key", environment="local")

```python
# With explicit config
client = GenFlux(api_key="pk_xxx")
client = Genflux(api_key="pk_xxx")
evaluator = client.evaluation(config_id="config_123")
result = evaluator.faithfulness(
question="What is Python?",
Expand Down Expand Up @@ -524,8 +524,8 @@ IDでレポートを取得します。
**例:**

```python
from genflux import GenFlux
client = GenFlux(api_key="genflux_xxx")
from genflux import Genflux
client = Genflux(api_key="genflux_xxx")

# Get summary report
report = client.reports.get(
Expand Down Expand Up @@ -688,7 +688,7 @@ result = evaluator.contextual_relevancy(
**例:**

```python
client = GenFlux(api_key="pk_xxx")
client = Genflux(api_key="pk_xxx")
evaluator = client.evaluation(config_id="config_123")

result = evaluator.evaluate(
Expand Down Expand Up @@ -1159,38 +1159,38 @@ RedTeamサマリ

## 4. 例外

すべての例外は `GenFluxError` を基底クラスとしています。
すべての例外は `GenfluxError` を基底クラスとしています。

### 4.1 例外一覧

| 例外 | 継承元 | HTTP ステータス | 説明 |
|---|---|---|---|
| `GenFluxError` | `Exception` | — | 基底例外クラス |
| `APIError` | `GenFluxError` | — | API リクエスト失敗(基底) |
| `GenfluxError` | `Exception` | — | 基底例外クラス |
| `APIError` | `GenfluxError` | — | API リクエスト失敗(基底) |
| `AuthenticationError` | `APIError` | 401 | API Key が無効または未設定 |
| `NotFoundError` | `APIError` | 404 | リソースが見つからない |
| `ValidationError` | `APIError` | 400, 422 | リクエストパラメータが不正 |
| `RateLimitError` | `APIError` | 429 | レート制限超過 |
| `TimeoutError` | `GenFluxError` | — | ジョブのタイムアウト |
| `JobFailedError` | `GenFluxError` | — | ジョブ実行の失敗 |
| `ConfigNotFoundError` | `GenFluxError` | — | 指定した Config が存在しない |
| `ResourceNotFoundError` | `GenFluxError` | — | リソースが見つからない |
| `TimeoutError` | `GenfluxError` | — | ジョブのタイムアウト |
| `JobFailedError` | `GenfluxError` | — | ジョブ実行の失敗 |
| `ConfigNotFoundError` | `GenfluxError` | — | 指定した Config が存在しない |
| `ResourceNotFoundError` | `GenfluxError` | — | リソースが見つからない |

> **Note:** `APIError` 系は HTTP レスポンスに起因する例外です。`status_code` 属性でステータスコードを取得できます。
> `TimeoutError` / `JobFailedError` はジョブ実行に起因する例外で、HTTP ステータスコードはありません。

### 4.2 例外ハンドリング

```python
from genflux import GenFlux
from genflux import Genflux
from genflux.exceptions import (
AuthenticationError,
RateLimitError,
TimeoutError,
JobFailedError,
)

client = GenFlux()
client = Genflux()
evaluator = client.evaluation()

try:
Expand Down Expand Up @@ -1275,10 +1275,10 @@ job.wait()用のプログレスコールバックを作成します。
**例:**

```python
from genflux import GenFlux
from genflux import Genflux
from genflux.progress import create_progress_callback

client = GenFlux(api_key="pk_xxx")
client = Genflux(api_key="pk_xxx")
job = client.jobs.create(...)

# With progress bar
Expand All @@ -1298,4 +1298,4 @@ result = client.jobs.wait(job.id, callback=callback)

*Auto-generated at 2026-03-23 07:15 UTC by `scripts/generate_api_reference.py`*

<!-- source-hash: 3b92bd86efe7f803 -->
<!-- source-hash: 8b9aa397be2b1621 -->
6 changes: 3 additions & 3 deletions docs/BACKEND_API_REFERENCE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# GenFlux Backend API Reference - External API
# GENFLUX Backend API Reference - External API

> **📘 Note**: このドキュメントは、GenFlux Python SDK が内部で使用する REST API の仕様です。
> **📘 Note**: このドキュメントは、GENFLUX Python SDK が内部で使用する REST API の仕様です。
> SDK の使い方については、[Python SDK API Reference](./API_REFERENCE.md) を参照してください。

## 📚 関連ドキュメント
Expand All @@ -14,7 +14,7 @@
**Version**: 1.0.0


GenFlux Platform Backend API
GENFLUX Platform Backend API

## API Surfaces

Expand Down
Loading
Loading