亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目次
學(xué)習(xí)目標(biāo)
目次
Pydanticaiとは何ですか?
活動(dòng)中のピダンティン派の例
基本的なデータ検証
自動(dòng)タイプの強(qiáng)制
ネストされたモデル
カスタムルールを使用した検証
AIエージェントとは何ですか?
エージェントワークフローとは何ですか?
AIエージェントとエージェントワークフローの最新の使用
ビジネスオートメーション
ソフトウェア開(kāi)発
健康管理
ファイナンス
eコマース
Pydanticaiフレームワークとは何ですか?
あなたのプロジェクトを始めましょう
環(huán)境の設(shè)定
Postgresとロードデータベースをインストールします
ステップ1:ターミナルを開(kāi)きます
ステップ2:データベースを作成します
ステップ3:ターミナルのコマンド
ステップ4:PSQLに接続します
プロジェクト構(gòu)造
プロジェクトを?qū)g裝するための段階的なガイド
Pydanticモデル
サービスモジュール
モデルとエージェントの作成
システムプロンプト定義
応答検証
データベーススキーマ
メインの実裝
結(jié)論
キーテイクアウト
よくある質(zhì)問(wèn)
ホームページ テクノロジー周辺機(jī)器 AI Pydanticaiで生産グレードのLLM駆動(dòng)型アプリケーションを構(gòu)築します

Pydanticaiで生産グレードのLLM駆動(dòng)型アプリケーションを構(gòu)築します

Mar 14, 2025 am 09:21 AM

ソフトウェア開(kāi)発の急速に進(jìn)化する狀況では、人工知能、データ検証、およびデータベース管理の交差點(diǎn)が前例のない可能性を開(kāi)きました。このブログ投稿では、最新のPydanticaiフレームワークとGoogleのGemini-1.5モデルを使用して、SQLコード生成とSQLコードの説明に対する革新的なアプローチを調(diào)査し、最先端のAIテクノロジーがデータベースクエリ開(kāi)発を合理化および強(qiáng)化する方法を示します。

開(kāi)発者、データ科學(xué)者、およびデータアナリストのために、この探索は、自然言語(yǔ)処理からのインテリジェントコード生成の將來(lái)を垣間見(jiàn)ることができます。ここでは、複雑なデータベースクエリを簡(jiǎn)単かつ正確に作成できます。

學(xué)習(xí)目標(biāo)

  • PydanticとPydanticaiの基礎(chǔ)を理解してください。
  • AI搭載のSQLコード生成システムを?qū)g裝する方法を?qū)Wびます。
  • SQL翻訳のために、自然言語(yǔ)でGemini-1.5-Flashの機(jī)能を調(diào)べてください。
  • データベースインタラクションのためのインテリジェントAIエージェントの構(gòu)築に関する洞察を得る。

この記事は、データサイエンスブログソンの一部として公開(kāi)されました。

目次

  • Pydanticaiとは何ですか?
  • 活動(dòng)中のピダンティン派の例
  • AIエージェントとは何ですか?
  • エージェントワークフローとは何ですか?
  • AIエージェントとエージェントワークフローの最新の使用
  • Pydanticaiフレームワークとは何ですか?
  • あなたのプロジェクトを始めましょう
  • プロジェクトを?qū)g裝するための段階的なガイド
  • 結(jié)論
  • よくある質(zhì)問(wèn)

Pydanticaiとは何ですか?

Pydanticaiは、データの検証とタイプチェックに革命をもたらす強(qiáng)力なPythonライブラリです。データモデルを定義するための宣言的なアプローチを提供し、複雑なデータ構(gòu)造を簡(jiǎn)単に作成および検証できます。

Pydanticの重要な機(jī)能は次のとおりです。

カスタマイズ

  • プリミティブタイプや複雑なネストされた構(gòu)造を含む幅広いデータ型を検証します。
  • 検証とシリアル化のために、ほぼすべてのPythonオブジェクトをサポートします

柔軟性

データ検証の厳格性を制御できます。

  • 予想されるタイプにデータを強(qiáng)制します
  • 必要に応じて厳格なタイプチェックを強(qiáng)制します

シリアル化

  • Pydanticオブジェクト、辭書(shū)、およびJSON間のシームレスな変換をサポートします。
  • 自己文書(shū)化APIとJSONスキーマを使用するツールとの互換性を有効にします。

パフォーマンス

  • コア検証ロジックは、並外れた速度と効率のために錆で記述されています。
  • Scalable Rest APIなどのハイスループットアプリケーションに最適です。

生態(tài)系

  • Fastapi、Langchain、Llamaindexなどの人気のあるPythonライブラリで広く使用されています。
  • 最新のエージェントLLMは、Pydanticなしでは実裝できません。

活動(dòng)中のピダンティン派の例

Pydanticaiは、Pythonでデータの検証とタイプチェックを簡(jiǎn)素化し、堅(jiān)牢なデータモデルを作成するための強(qiáng)力なツールになります。その機(jī)能を紹介するいくつかの実用的な例を探りましょう。

基本的なデータ検証

Pydantic Import Basemodelから


クラスユーザー(BASEMODEL):
    名前:str
    年齢:int


#有効なデータ
user = user(name = "alice"、age = 30)
印刷(ユーザー)

print( "================================")
#無(wú)効なデータ(年齢は文字列です)
試す:
    user = user(name = "Alice"、age = "30")
eとしての例外を除く:
    印刷(e)

上記のコードは、Pydanticのベースメーモデルを使用してユーザーモデルを定義し、名前を文字列として施行し、年齢を整數(shù)として施行します。正しいデータを検証しますが、無(wú)効なデータ(年齢の文字列)が提供されると、検証エラーが発生します。

出力:

Pydanticaiで生産グレードのLLM駆動(dòng)型アプリケーションを構(gòu)築します

自動(dòng)タイプの強(qiáng)制

Pydantic Import Basemodelから
クラス製品(BaseModel):
    価格:フロート
    數(shù)量:int

#不一致のタイプのデータ
Product = product(Price = "19.99"、數(shù)量= "5")
印刷(製品)

印刷(type(product.price))
print(type(product.quantity))

ここでは、価格が浮かんでいる製品モデル、整數(shù)としての量の製品モデル。 Pydanticは、文字列入力(「19.99」と「5」)を正しいタイプ(float and int)に自動(dòng)的に強(qiáng)制し、その型変換機(jī)能を?qū)g証します。

出力:

Pydanticaiで生産グレードのLLM駆動(dòng)型アプリケーションを構(gòu)築します

ネストされたモデル

Pydantic Import Basemodelから
クラスアドレス(BaseModel):
    ストリート:str
    都市:str
クラスユーザー(BASEMODEL):
    名前:str
    アドレス:アドレス

#有効なデータ
user = user(name = "bob"、address = {"street": "123 Main St"、 "City": "Wonderland"})
印刷(ユーザー)

#ネストされた屬性にアクセスします
print(user.address.city)

ここでは、アドレスモデルを含むネストされたユーザーモデルを定義します。 Pydanticは、ネストされた検証を許可し、辭書(shū)をモデルに自動(dòng)変換します。有効なデータはユーザーオブジェクトを初期化し、「 user.address.city」などのネストされた屬性に直接アクセスできます。

出力:

Pydanticaiで生産グレードのLLM駆動(dòng)型アプリケーションを構(gòu)築します

カスタムルールを使用した検証

Pydantic Import Basemodel、Field、field_validatorから

クラスユーザー(BASEMODEL):
    名前:str
    年齢:int = field(...、gt = 0、description = "年齢はゼロより大きくなければなりません")

    @field_validator( "name")
    def name_must_be_non_empty(cls、value):
        value.strip()ではない場(chǎng)合:
            Raise ValueRerr(「名前は空にすることはできません」)
        返品値

#有効なデータ
user = user(name = "Charlie"、age = 25)
印刷(ユーザー)

#無(wú)効なデータ
試す:
    user = user(name = ""、age = -5)
eとしての例外を除く:
    印刷(e)

ここでは、検証ルールを使用してユーザーモデルを定義します。年齢は0より大きく、名前を空にすることはできません( name_must_be_non_emptyメソッドを介して検証されます)。有効なデータはユーザーインスタンスを作成しますが、無(wú)効なデータ(空の名前または負(fù)の年齢)は詳細(xì)な検証エラーを引き起こし、Pydanticの検証機(jī)能を?qū)g証します。

出力:

Pydanticaiで生産グレードのLLM駆動(dòng)型アプリケーションを構(gòu)築します

これらは、Pydanticの中核例のいくつかです。データ検証の基本原則を理解するのに役立つことを願(yuàn)っています。

AIエージェントとは何ですか?

AIエージェントは、特定の目的を達(dá)成するために、タスクを自律的に実行し、意思決定を行い、環(huán)境と対話(huà)するように設(shè)計(jì)されたインテリジェントシステムです。これらのエージェントは新しいものではありませんが、生成AIの最近の急速な発展とそれをエージェントと組み合わせることで、新しい時(shí)代のエージェントソフトウェア開(kāi)発が行われます。これで、エージェントは入力を処理し、アクションを?qū)g行し、動(dòng)的に適応できます。彼らの行動(dòng)は、人間のような問(wèn)題解決を模倣し、最小限の人間の介入でさまざまなドメインで機(jī)能することを可能にします。

エージェントワークフローとは何ですか?

エージェントワークフローとは、1つまたは複數(shù)のAIエージェントによって管理および実行されたタスクの目標(biāo)駆動(dòng)型シーケンス、構(gòu)造、目標(biāo)主導(dǎo)のシーケンスを指します。非ラインの剛性のある従來(lái)のワークフロー、エージェントワークフローは、適応性、自律性、およびコンテキスト認(rèn)識(shí)を示します。これらのワークフロー內(nèi)のAIエージェントは、獨(dú)立して意思決定を行い、サブタスクを委任し、フィードバックから學(xué)習(xí)し、効率的で最適化された結(jié)果につながる可能性があります。

AIエージェントとエージェントワークフローの最新の使用

AIエージェントとエージェントワークフローの統(tǒng)合により、複雑なタスクを自動(dòng)化し、意思決定を強(qiáng)化し、推進(jìn)効率を高めることにより、産業(yè)に革命をもたらしました。これらのインテリジェントシステムは動(dòng)的に適応し、多様なドメイン全體でよりスマートなソリューションを可能にします。

ビジネスオートメーション

AIエージェントは、チャットボット、電子メール管理、販売パイプラインの最適化を通じて、カスタマーサポートなどの繰り返しタスクを自動(dòng)化します。それらは、より価値のあるタスクから人的資源を解放することにより、生産性を向上させます。

ソフトウェア開(kāi)発

AIを搭載したエージェントは、コードを生成、テスト、デバッグすることにより、ソフトウェアのライフサイクルを加速し、開(kāi)発時(shí)間とヒューマンエラーを短縮します。

健康管理

AIエージェントは、醫(yī)療診斷、患者の監(jiān)視、および治療のパーソナライズを支援し、醫(yī)療提供と運(yùn)用効率の改善を支援します。

ファイナンス

金融システムのエージェントワークフローは、詐欺検出、リスク評(píng)価、投資分析を自動(dòng)化し、より速く、より信頼性の高い意思決定を可能にします。

eコマース

インテリジェンスエージェンシーは、ショッピングエクスペリエンスのパーソナライズを強(qiáng)化し、製品の推奨事項(xiàng)と顧客サービスを最適化します。

AIエージェントとエージェントワークフローの臺(tái)頭は、複雑なプロセスを管理できる非常に自律的なシステムへのシフトを意味します。それらの適応性と學(xué)習(xí)能力により、現(xiàn)代の産業(yè)にとって不可欠なものになり、革新、スケーラビリティ、およびドメイン全體の効率を促進(jìn)します。 AIが進(jìn)化し続けると、AIエージェントは毎日のワークフローにさらに統(tǒng)合され、タスクの管理方法を変換します。

Pydanticaiフレームワークとは何ですか?

Pydanticaiは、Pydantic、Fastapiの作成者によって開(kāi)発されたPythonエージェントフレームワークであり、生成AIを利用した生産グレードアプリケーションの構(gòu)築を合理化し、タイプの安全性、モデルに依存しない設(shè)計(jì)、および大規(guī)模な言語(yǔ)モデル(LLM)とのシームレスな統(tǒng)合を強(qiáng)調(diào)しています。

Pydanticaiが含まれる重要な機(jī)能:

  • モデルと存在するサポート: Pydanticaiは、Openai、Antropic、Gemini、Groq、Mistral、Ollamaなどのさまざまなモデルと互換性があり、追加のモデルを組み込むための簡(jiǎn)単なインターフェイスを備えています。
  • タイプセーフティ: PythonのタイプシステムとPydanticの検証を活用して、Pydanticaiは堅(jiān)牢でスケーラブルなエージェント開(kāi)発を保証します。
  • 依存関係注射システム:新規(guī)のTy-Safe依存関係注入メカニズムを?qū)毪贰ⅴ匹攻趣仍u(píng)価駆動(dòng)型開(kāi)発を強(qiáng)化します。
  • 構(gòu)造化された応答の検証: Pydanticの検証機(jī)能を利用すると、正確で信頼できる構(gòu)造応答が保証されます。
  • logfire統(tǒng)合: LLM駆動(dòng)のアプリケーションのデバッグと監(jiān)視を強(qiáng)化するために、Pydantic Logfireとの統(tǒng)合を提供します。

Pydanticaiの最小限の例を次に示します。

 OSをインポートします
pydantic_aiインポートエージェントから
pydantic_ai.models.geminiインポートGeminimodelから
dotenvインポートload_dotenvから

load_dotenv()

gemini_api_key = os.getenv( "<google_api_key>")

モデル= geminimodel(
    「Gemini-1.5-flash」、
    api_key = gemini_api_key、
))

agent = agent(
    モデル=モデル、
    System_prompt = "簡(jiǎn)潔に、1つの文で返信してください。"、
))

result = agent.run_sync( '「hello world」はどこから來(lái)るの?」)
印刷(result.data)</google_api_key>

出力:

Pydanticaiで生産グレードのLLM駆動(dòng)型アプリケーションを構(gòu)築します

さあ、いくつかの本當(dāng)のことをする時(shí)が來(lái)ました。 Pydanticaiエージェントフレームワークを使用して、 Postgres SQLクエリ生成を構(gòu)築します。

あなたのプロジェクトを始めましょう

不可欠なツールと環(huán)境をセットアップするための段階的なガイドを使用して、プロジェクトの基盤(pán)を築きます。

環(huán)境の設(shè)定

プロジェクトのコンドマ環(huán)境を作成します。

 #create env
$ conda create  - 名前sql_gen python = 3.12

#ENVをアクティブにします
$ condaはsql_genをアクティブにします

次に、プロジェクトフォルダーを作成します

#フォルダーを作成します
$ mkdir sql_code_gen
#フォルダーに変更します
$ cd sql_code_gen

Postgresとロードデータベースをインストールします

Postgres、PSQL-Command-Tools、およびPGADMIN-4をインストールするには、システム用にインストーラーをEDBDownLoadLoadに移動(dòng)し、すべてのツールを一度にインストールしてください。

ここで、dvdrentalデータベースをherとhersからダウンロードして、これらの手順に従ってください。

ステップ1:ターミナルを開(kāi)きます

psql -u postgres

#パスワードを要求します

ステップ2:データベースを作成します

#postgres =#

データベースdvdrentalを作成します。

ステップ3:ターミナルのコマンド

次に、PSQLコマンドを終了してから、端末を入力します

PG_RESTORE -U POSTGRES -D DVDRENTAL D:/SAMPLEDB/POSTGRES/DVDRENTAL.TAR

ステップ4:PSQLに接続します

次に、PSQLに接続し、データベースがロードされているかどうかを確認(rèn)します。

 psql -u postgres

#dvdrentalと接続します
\ c dvdrental

#テーブルを見(jiàn)てみましょう

\ dt

出力:

Pydanticaiで生産グレードのLLM駆動(dòng)型アプリケーションを構(gòu)築します

上記のテーブルが表示されている場(chǎng)合は、大丈夫です。私たちは皆、メインプロジェクトを開(kāi)始する予定です。

必要なPythonライブラリをSQL_Gen Conda envにインストールします。

 condaはsql_genをアクティブにします

#ライブラリをインストールします
ピップインストールpydantic asyncpg asyncio pydantic-ai 

PIPSインストールpython-dotenv fastapi google-generativeai

PIPインストールdevtools注釈付きタイプタイプタイプの拡張

プロジェクト構(gòu)造

私たちのプロジェクトには、メイン、モデル、サービス、スキーマ、つまり4つのファイルがあります。

 sql_query_gen/
|
|  -  main.py
|  -  models.py
|  -  schema.py
|  -  service.py
|  - 。env
| -__ init__.py
|  - 。gitignore

プロジェクトを?qū)g裝するための段階的なガイド

この包括的な実裝ガイドを使用して、プロジェクトをコンセプトから現(xiàn)実に導(dǎo)くための詳細(xì)な手順と実用的なテクニックに飛び込みます。

Pydanticモデル

Models.pyファイルでデータモデルを作成することから始めます

DataClassesからImport Dataclassから
インポート注釈付きタイプから
asyncpgをインポートします
Annotated_typesからImport Minlenから
Pydantic Import Basemodel、Fieldから

@dataClass
クラスDEPS:
    conn:asyncpg.connection

クラスの成功(BaseModel):
    sql_query:注釈[str、minlen(1)]
    説明:str = field( ""、description = "SQLクエリの説明、マークダウンとして")

クラスInvalidRequest(BaseModel):
    error_message:str

上記のコードでは、

  • DEPSクラスは、データベース接続の依存関係を管理します。 @DataClassは、__init__や__Repr__などの特別な方法を自動(dòng)的に生成します。 conn「asyncpg.connection」と入力され、アクティブなpostgreSQL接続を表します。この設(shè)計(jì)は、依存関係噴射パターンに従い、コードをよりテストしやすく保守可能にします。
  • サクセスクラスは、SQL-Queryの成功を表します。SQL_Query空の文字列( Minlen (1))でなければならず、注釈付きで検証制約を追加する必要があります。説明は、デフォルトの空の文字列を備えたオプションのフィールドです。
  • InvalidRequestクラスはエラー応答モデルであり、失敗したSQLクエリ生成の試みを表します。

このコードは、データベース接続管理、入力検証、構(gòu)造化された応答処理、エラー処理の基礎(chǔ)を確立しました。

サービスモジュール

ここで、SQL GenerationのPydanticaiサービスをサービスモジュールに実裝します。

ライブラリと構(gòu)成をインポートします

OSをインポートします
インポートユニオンのタイピングから
dotenvインポートload_dotenvから
asyncpgをインポートします
typing_extensionsからImport typealiasから
Pydantic_aiインポートエージェント、ModelRetry、RunContextから
pydantic_ai.models.geminiインポートGeminimodelから
スキーマインポートDB_Schemaから
モデルから、DEPS、成功、InvalidRequestをインポートします

構(gòu)成するには、プロジェクトルートに.ENVファイルを作成し、Gemini APIキーをそこに配置します

#.env

gemini_api_key = "asgfhkdhjy457gthjhajbsd"

次に、service.pyファイルで:

 load_dotenv()

gemini_api_key = os.getenv( "google_api_key")

`からGoogle APIキーをロードします。 env `ファイル。

モデルとエージェントの作成

応答:typealias = union [success、invalidRequest]

モデル= geminimodel(
    「Gemini-1.5-flash」、
    api_key = gemini_api_key、
))

agent = agent(
    モデル、
    result_type = response、#タイプ:無(wú)視
    deps_type = deps、
))
  • 最初に成功またはinvalidRequestのいずれかである可能性のある応答タイプを定義します
  • APIキーを使用してGemini 1.5 Flashモデルを初期化します
  • 指定された応答と依存関係のタイプを使用してPydanticaiエージェントを作成する

システムプロンプト定義

次に、SQLクエリ生成のシステムプロンプトを定義します。

 @agent.system_prompt
async def system_prompt() - > str:
    f "" "\を返します

以下のPostgreSQLの記録表を考えると、あなたの仕事は
ユーザーのリクエストに合ったSQLクエリを書(shū)きます。

データベーススキーマ:
{db_schema}

例
    リクエスト:4.00ドルを超えるレンタル料金と「PG」の格付けのあるすべての映畫(huà)を見(jiàn)つける
    応答:[タイトル]、RENTAL_RATEを選択します
    映畫(huà)から
    rental_rate> 4.00およびrating = 'pg';
例
    リクエスト:最長(zhǎng)の長(zhǎng)さのフィルムを見(jiàn)つけます
    応答:タイトル、長(zhǎng)さを選択します
    映畫(huà)から
    ここで、長(zhǎng)さ=(フィルムから最大(長(zhǎng)さ)を選択);
例
    リクエスト:各カテゴリの映畫(huà)の平均レンタル期間を見(jiàn)つける
    応答:c.name、avg(f.rental_duration)をaverage_rental_durationとして選択します
    カテゴリからc
    c.category_id = fc.category_idにfilm_category fcに參加してください
    FC.FILM_ID = F.FILM_IDでフィルムFに參加してください
    C.Nameによるグループ
    Average_rental_duration descによる注文;
"" "

ここでは、AIモデルのベースコンテキストを定義し、モデルの応答をガイドするためのクエリの例を提供します。また、モデルがスキーマを分析し、より良い応答を生成できるように、モデルにデータベーススキーマ情報(bào)も含めます。

応答検証

AIモデルからのエラーのない応答をプロジェクトの要件までにするために、応答を検証するだけです。

 @agent.result_validator
async def validate_result(ctx:runco??ntext [deps]、result:response) - > response:
    ISInstance(result、invalidRequest)の場(chǎng)合:
        返品結(jié)果

    #Geminiは、しばしばSQLにExtraneosバックラッシュを追加します
    result.sql_query = result.sql_query.replace( "\\"、 "")
    result.sql_query.upper()。startswith( "select"):
        ModelRetryを上げる(「選択クエリを作成してください」)

    試す:
        await ctx.deps.conn.execute(f "説明{result.sql_query}")
    asyncpg.exceptions.postgreserrorをe:
        eからモデルレトリ(f "無(wú)効なsql:{e}")を上げます
    それ以外:
        返品結(jié)果

ここでは、生成されたSQLクエリを検証および処理します

重要な検証手順:

  • 結(jié)果が無(wú)効な場(chǎng)合はすぐに戻ります。余分なバックスラッシュをクリーンアップします
  • クエリが選択されたステートメントであることを確認(rèn)してください
  • PostgreSQL説明を使用してSQL構(gòu)文を検証します
  • 無(wú)効なクエリのモデルレトリを上げます

データベーススキーマ

データベーススキーマを取得するには、Postgresセットアップ中にインストールしたPGADMIN4を開(kāi)き、「 DVDRENTAL」データベースに移動(dòng)し、右クリックして、 [データベース]の[ERD]をクリックします。
以下のERD図を取得し、ERDからSQLを生成します(畫(huà)像の丸い黒いマーキングを參照)。

スキーマをschema.pyモジュールにコピーします。

Pydanticaiで生産グレードのLLM駆動(dòng)型アプリケーションを構(gòu)築します

 #schema.py
db_schema = "" "
始める;


存在しない場(chǎng)合はテーブルを作成します
(
    actor_id serial not null、
    first_name文字変化(45)はpg_catalogを照合します。 "default" not null、
    last_name文字変化(45)はpg_catalogを照合します。 "default" not null、
    last_updateタイムスタンプタイムゾーンなしでnull default now()、
    Constraint Actor_pkeyプライマリキー(Actor_id)
);
。
。
。
  
。
。
。
"" "

上記のコードブロックはひどく切り捨てられています。完全なコードを取得するには、プロジェクトリポジトリにアクセスしてください。

これで、必要なすべてのモジュールが完了しているため、メインメソッドとテストを?qū)g裝する時(shí)間です。

メインの実裝

メイン関數(shù)定義とプロンプト処理を行います。

 Asyncioをインポートします
OSをインポートします
sysをインポートします
インポートユニオンのタイピングから
dotenvインポートload_dotenvから
asyncpgをインポートします
DevToolsからインポートデバッグから
typing_extensionsからImport typealiasから
pydantic_aiインポートエージェントから
pydantic_ai.models.geminiインポートGeminimodelから
モデルから、DEPS、成功、InvalidRequestをインポートします

load_dotenv()

gemini_api_key = os.getenv( "google_api_key")


応答:typealias = union [success、invalidRequest]

モデル= geminimodel(
    「Gemini-1.5-flash」、
    api_key = gemini_api_key、
))

agent = agent(
    モデル、
    result_type = response、#タイプ:無(wú)視
    deps_type = deps、
))


async def main():
    Len(Sys.Argv)== 1の場(chǎng)合:
        PROMP = "選択クエリを作成してください"
    それ以外:
        PROMPT = sys.Argv [1]

    #データベースへの接続
    conn = asyncpg.connectを待ちます(
        user = "postgres"、
        パスワード= "avizyt"、
        host = "localhost"、
        port = 5432、
        データベース= "dvdrental"、
    ))
    試す:
        deps = deps(conn)
        result = waing agent.run(prompt、deps = deps)
        result = debug(result.data)
        print( "========あなたのクエリ==========")
        print(debug(result.sql_query)))
        print( "=========説明========")
        print(debug(result.explanation))

    ついに:
        conn.close()を待っています


__name__ == "__main__"の場(chǎng)合:
    asyncio.run(main())

ここで、最初に、非同期メイン関數(shù)を定義し、クライアントクエリのコマンドライン引數(shù)を確認(rèn)します。 argsが提供されていない場(chǎng)合は、デフォルトのプロンプトを使用します。

次に、Postgres接続パラメーターを設(shè)定して、DVDrentalデータベースサービスに接続します。

Tryブロックで、データベース接続を備えたDEPSインスタンスを作成し、プロンプトを使用してAIエージェントを?qū)g行し、デバッグ関數(shù)( PIPインストールDevTools )を使用して結(jié)果を処理します。次に、生成されたSQLクエリとクエリの説明を含むフォーマットされた出力を印刷します。その後、最終的にデータベース接続を閉じました。

次のように、以下のようにメインモジュールを?qū)g行します。

 #ターミナルで
python main.py「各顧客のレンタルの総數(shù)を取得」

出力:

Pydanticaiで生産グレードのLLM駆動(dòng)型アプリケーションを構(gòu)築します

PGADMIN4のSQLクエリをテストした後:

Pydanticaiで生産グレードのLLM駆動(dòng)型アプリケーションを構(gòu)築します

おお!それは私たちが望むように機(jī)能しています。このようなクエリをもっとテストし、學(xué)習(xí)をお楽しみください。

結(jié)論

このプロジェクトは、データベースの相互作用をより直感的でアクセスしやすくする際の重要な前進(jìn)を表しています。 AIの力を堅(jiān)牢なソフトウェアエンジニアリングの原則と組み合わせることにより、SQLクエリを生成するだけでなく、実世界の使用に安全で教育的で実用的な方法でそれを行うツールを作成しました。

この実裝の成功は、AIが従來(lái)のデータベース操作を置き換えるのではなく、強(qiáng)化する可能性を示しており、學(xué)習(xí)と生産性の両方に貴重なツールを提供します。

Project Repo - このプロジェクトで使用されるすべてのコードはこちらから入手できます。

キーテイクアウト

  • Pydanticaiは、インテリジェントなコンテキストを意識(shí)したコード生成を可能にします。
  • Gemini-1.5-Flashは、技術(shù)的なタスクに高度な自然言語(yǔ)理解を提供します。
  • AIエージェントは、データベースとの対話(huà)方法を変換し、コードを生成できます。
  • AIで生成されたコードシステムでは、堅(jiān)牢な検証が重要です。

よくある質(zhì)問(wèn)

Q 1。SQL世代のPydanticaiの利點(diǎn)は何ですか?

A. Pydanticaiは、組み込みのエラーチェックとコンテキスト理解を備えたタイプセーフ、検証済みのコード生成を提供します。

Q2。Gemini-1.5-Flashはプロジェクトにどのように貢獻(xiàn)しますか?

A.ジェミニモデルは、高度な自然言語(yǔ)処理を提供し、複雑な人間のクエリを正確なSQLステートメントに変換します。

Q 3。このプロジェクトは他のAIアプリケーションに拡張できますか?

A.絶対に!アーキテクチャは、さまざまなドメインでコード生成、データ変換、およびインテリジェントオートメーションに適合させることができます。

この記事に示されているメディアは、Analytics Vidhyaが所有しておらず、著者の裁量で使用されています。

以上がPydanticaiで生産グレードのLLM駆動(dòng)型アプリケーションを構(gòu)築しますの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類(lèi)リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Kimi K2:最も強(qiáng)力なオープンソースエージェントモデル Kimi K2:最も強(qiáng)力なオープンソースエージェントモデル Jul 12, 2025 am 09:16 AM

今年初めにゲナイ産業(yè)を混亂させたオープンソースの中國(guó)モデルの洪水を覚えていますか? Deepseekはほとんどの見(jiàn)出しを取りましたが、Kimi K1.5はリストの著名な名前の1つでした。そして、モデルはとてもクールでした。

Grok 4 vs Claude 4:どちらが良いですか? Grok 4 vs Claude 4:どちらが良いですか? Jul 12, 2025 am 09:37 AM

2025年半ばまでに、AIの「武器競(jìng)爭(zhēng)」は熱くなり、Xaiと人類(lèi)は両方ともフラッグシップモデルであるGrok 4とClaude 4をリリースしました。これら2つのモデルは、設(shè)計(jì)哲學(xué)と展開(kāi)プラットフォームの反対側(cè)にありますが、

今日、今日私たちの間を歩いている10の驚くべきヒューマノイドロボット 今日、今日私たちの間を歩いている10の驚くべきヒューマノイドロボット Jul 16, 2025 am 11:12 AM

しかし、おそらく1つを見(jiàn)るのに10年も待つ必要はありません。実際、本當(dāng)に有用で人間のような機(jī)械の最初の波と考えられるものは、すでにここにあります。 近年、多くのプロトタイプと生産モデルがTから抜け出しています

コンテキストエンジニアリングは&#039; new&#039;迅速なエンジニアリング コンテキストエンジニアリングは&#039; new&#039;迅速なエンジニアリング Jul 12, 2025 am 09:33 AM

前年まで、迅速なエンジニアリングは、大規(guī)模な言語(yǔ)モデル(LLMS)と対話(huà)するための重要なスキルと見(jiàn)なされていました。しかし、最近、LLMは推論と理解能力を大幅に進(jìn)めています。當(dāng)然、私たちの期待

6タスクManus AIは數(shù)分で行うことができます 6タスクManus AIは數(shù)分で行うことができます Jul 06, 2025 am 09:29 AM

一般的なAIエージェントであるManusについて知っている必要があると確信しています。數(shù)ヶ月前に発売され、數(shù)か月にわたって、彼らはシステムにいくつかの新機(jī)能を追加しました。これで、ビデオを生成したり、Webサイトを作成したり、MOを行うことができます

Langchain Fitness Coachを作成します:AIパーソナルトレーナー Langchain Fitness Coachを作成します:AIパーソナルトレーナー Jul 05, 2025 am 09:06 AM

多くの個(gè)人が情熱を持ってジムを訪(fǎng)れ、フィットネスの目標(biāo)を達(dá)成するための正しい道にいると信じています。しかし、結(jié)果は、食事の計(jì)畫(huà)が不十分であり、方向性の欠如のためにありません。パーソナルトレーナーALを雇う

LeiaのImmersityモバイルアプリは、毎日の寫(xiě)真に3D深さをもたらします LeiaのImmersityモバイルアプリは、毎日の寫(xiě)真に3D深さをもたらします Jul 09, 2025 am 11:17 AM

レイア獨(dú)自のニューラル深度エンジンの上に構(gòu)築されたアプリは、靜止畫(huà)像を処理し、シミュレートされた動(dòng)き(パン、ズーム、視差効果など)とともに自然な深さを追加し、SCEに踏み込む印象を與える短いビデオリールを作成します。

これらのAIモデルは言語(yǔ)を?qū)Wぶことができず、戦略を?qū)Wびました これらのAIモデルは言語(yǔ)を?qū)Wぶことができず、戦略を?qū)Wびました Jul 09, 2025 am 11:16 AM

キングスカレッジロンドンとオックスフォード大學(xué)の研究者からの新しい研究は、Openai、Google、および人類(lèi)が反復(fù)囚のジレンマに基づいた激しい鳴き聲競(jìng)爭(zhēng)で一緒に投げ込まれたときに起こったことの結(jié)果を共有しています。これはノーでした

See all articles