0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle OCI Cohere を使ってテキスト分類APIを構築する

Last updated at Posted at 2025-07-12

はじめに

本記事では、Oracle Cloud Infrastructure (OCI) の Generative AI サービスに含まれる Cohere の埋め込みモデルを利用して、テキスト分類APIを簡単に構築する方法を紹介します。

このプロジェクトは、Flaskフレームワークをベースにしており、OCIのAIモデルを手軽に利用できるRESTful APIを提供します。

ソースコードは以下のGitHubリポジトリで公開しています。
https://github.com/engchina/No.1-Classifier

このプロジェクトでできること

  • テキスト分類: OCI Cohere の最新モデル (cohere.embed-v4.0) を利用して、テキストデータを「好評」「悪評」「中評」などのカテゴリに分類します。
  • 簡単なAPI: RESTful APIとして設計されており、curl コマンドや各種プログラミング言語から簡単に利用できます。
  • 柔軟なモデル管理: API経由でモデルの再学習が可能で、新しいデータに適応させることができます。
  • Docker対応: Dockerコンテナとしてデプロイできるため、環境構築が非常に簡単です。

主な機能

  • Oracle OCI Cohere 埋め込みモデル (cohere.embed-v4.0) の利用
  • RESTful API インターフェース
  • 学習済みモデルの永続化ストレージ
  • ヘルスチェックエンドポイント
  • モデルの学習機能
  • テキスト分類のサポート

動作環境

  • Python 3.11+
  • Oracle OCI アカウントと Compartment ID
  • OCI CLI の設定完了

インストールと実行手順

1. 依存関係のインストール

まず、プロジェクトをクローンし、必要なライブラリをインストールします。

git clone https://github.com/engchina/No.1-Classifier.git
cd No.1-Classifier

# condaを利用する場合
conda create -n no.1-classifier python=3.11 -y
conda activate no.1-classifier

pip install -r requirements.txt

2. Oracle OCI の設定

OCIを利用するための設定を行います。

2.1 OCI CLI の設定

まだ設定していない場合は、OCI CLIをインストールして設定します。

# OCI CLI のインストール
pip install oci-cli

# OCI CLI の設定 (対話形式で設定を進めます)
oci setup config

2.2 環境変数の設定

プロジェクトルートにある .env.example をコピーして .env ファイルを作成します。

cp .env.example .env

次に、.env ファイルを編集し、ご自身のOCI Compartment IDを設定します。

.env
# Oracle OCI 設定
OCI_COMPARTMENT_ID=ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxx

3. アプリケーションの起動

以下のコマンドでFlaskアプリケーションを起動します。

python app.py

http://localhost:5000 でAPIサーバーが起動します。

APIの使い方

実行順序:health → train → classify

1. ヘルスチェック (/health)

サーバーの状態を確認できます。

リクエスト例:

curl http://localhost:5000/health

レスポンス例:

{
  "model_path_exists": true,
  "model_trained": true,
  "status": "healthy"
}

2. モデルの学習 (/train)

training_data.jsonl に基づいてモデルを学習させます。

リクエスト例:

curl -X POST http://localhost:5000/train

レスポンス例:

{
  "message": "モデルの学習が完了しました",
  "training_samples": 8,
  "labels": ["好評", "悪評", "中評"]
}

3. テキスト分類 (/classify)

テキストを分類するには、/classify エンドポイントにPOSTリクエストを送信します。

リクエスト例:

curl -X POST http://localhost:5000/classify \
  -H "Content-Type: application/json" \
  -d '{"text": "この製品はコスパが良くて、とても満足しています"}'

レスポンス例:

{
  "prediction": "好评",
  "probabilities": {
    "中评": 0.256,
    "好评": 0.511,
    "差评": 0.233
  },
  "text": "この製品はコスパが良くて、とても満足しています"
}

Dockerで動かす

Dockerfileが用意されているので、簡単にコンテナとして実行できます。

# Dockerイメージのビルド
docker build -t oracle-cohere-classifier .

# Dockerコンテナの実行
docker run -p 5000:5000 --env-file .env oracle-cohere-classifier

まとめ

この記事では、Oracle OCI CohereモデルとFlaskを使って、簡単にテキスト分類APIを構築する方法を紹介しました。OCIのAI機能を活用することで、開発者はインフラの管理に煩わされることなく、迅速にAIアプリケーションを開発できます。

ぜひ、GitHubリポジトリをフォークして、ご自身のプロジェクトに応用してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?