この AI アプリケーションは何に使用されますか#
このアプリケーションは、テーブルの構造に基づいて異なるタイプのエンティティクラスを生成するために使用されます。
まず、実装結果について説明します。
- 入力言語:python
- 入力エンティティフレームワーク名:pydantic
- 入力 references:テーブルの作成に使用される SQL または JSON ファイル
実行すると、生成された Python コードが取得できます。
以下は、与えられた SQL テーブルに基づいた Pydantic モデルの Python コードです:
from typing import Optional
from pydantic import BaseModel
from datetime import datetime
class EDict(BaseModel):
id: int
create_by: Optional[str]
create_time: Optional[datetime]
update_by: Optional[str]
update_time: Optional[datetime]
code: str
name: Optional[str]
remark: Optional[str]
class Config:
orm_mode = True
Pydantic モデルは、Python 用のシンプルなデータ検証およびシリアライゼーションライブラリであり、直接データベースとは対話しません。データベースとの作業には SQLAlchemy などの追加のライブラリが必要であり、一意の制約やその他の検証オプションには
Field
メソッドを使用する必要がある場合もあります。
また、JPA の Java や Typescript のエンティティ定義もサポートしており、必要な言語とパッケージ名を入力するだけで使用することができます。
このバックエンド AI インターフェースを実装する方法は?#
これはバックエンドの API であり、Steamship を使用して実装することは非常に簡単です:
- https://www.steamship.com/ にアカウントを登録し、API キーを取得します。
- Steamship をインストールします。
pip install steamship
- API キーを設定します。ファイルは~/.steamship.json にあります。
{
"apiKey": "mykey"
}
- Python プロジェクトを作成し、Steamship を pip でインストールします。
pip install steamship
- 最初の外部から呼び出せる API を作成します。ファイル名は api.py です。
from steamship import check_environment, RuntimeEnvironments, Steamship
from steamship.invocable import post, PackageService
class EntityGeneratePackage(PackageService):
PROMPT = "以下の内容に基づいて{language}の{lib_name}に基づくエンティティクラスを生成します:{references}"
@post("generate")
def generate(self, language: str, lib_name: str, references: str):
gpt4 = self.client.use_plugin("gpt-4")
task = gpt4.generate(text=self.PROMPT.format(language=language,
lib_name=lib_name, references=references))
task.wait()
return task.output.blocks[0].text
- デプロイします。
ship deploy
これで、最初の OpenAI GPT-4 を呼び出す AI プログラムが完成し、API にアクセスできるようになります。
- Steamship を使用して外部の API を呼び出したい場合は、次のような便利な方法も提供されています。
from steamship import Steamship
# パッケージインスタンススタブをロードします。
pkg = Steamship.use(
"entity-generator",
api_key="YOUR_API_KEY"
)
# メソッドを呼び出します
resp = pkg.invoke(
"generate",
language=VALUE,
lib_name=VALUE,
references=VALUE
)
結論#
- このプログラムは非常にシンプルですが、Steamship というツールは非常に便利で、インターフェースとデプロイが非常に簡単です。
- Steamship は、ローカル関数を書いてデプロイすることで API として公開する方法が素晴らしいです。クライアント側の呼び出し方法も非常にシンプルで、学ぶ価値があります。
- Steamship には他にも多くのコンテンツがありますが、まだ始まったばかりですので、見てみる価値があります。
- AI の時代は、無数の小さなインターフェースが組み合わさって優れた機能を実現することができるかもしれません。
- このようなコード生成機能は自分でコードで実装することもできますが、明らかに AI を使用するとはるかに速くなります。したがって、no-code/low-code の開発者を軽蔑する人々は注意が必要です。コードを書かない人々にとって、AI は生産性を向上させるための素晴らしいツールであり、あまり多くを理解する必要はありません。自然言語を直接使用してコードを自動化することで、いくつかの作業を自動化するためのコードの支援を得ることができるかもしれません。
参考文献: