タグ

ブックマーク / qiita.com/ShotaOki (4)

  • pydanticを1行の入力チェック関数として使う - Qiita

    この記事について 入力ライブラリのPydanticで、(クラス定義を通さずに)関数で値をチェックする方法を紹介します 検証環境のバージョン Python 3.10 pydantic 1.10.7 pydanticって何? 入力をチェックするPythonのライブラリです # ユーザー情報クラスを定義する class UserInfo(BaseModel): user_name: str password: str # もし入力パラメータが{"user_name": "文字列", "password": "文字列"}の形式でなければ例外を投げる UserInfo.parse_raw(input) BaseModelを継承したクラスの型ヒントから、値を入力チェックすることができます。 この記事で実現したいこと、実現すること 実現したいこと JSONのような入力チェックなら標準の使い方そのままでい

    pydanticを1行の入力チェック関数として使う - Qiita
    sh19910711
    sh19910711 2024/06/17
    "プリミティブなデータに対して直接入力チェックを使いたい / これをpydanticでチェックするためにclassを書きたくありません / DataModelクラスをpydanticで使えるクラスに変換してくれる関数" 2023
  • Pydanticのデータ定義をJSONで書く色々な方法 - Qiita

    はじめに この記事では、JSON形式でスキーマを定義して、PyDanticのクラスを作成する方法を2つ紹介します。 型名と引数を書いたJSONをPyDanticのクラスに変換する JSONSchema形式で書いたJSONをPyDanticのクラスに変換する どういうメリットと、どういうメリットがあるの? JSONで定義するメリットとしては、定義をアプリの外部に置くことができるので、 利用者の数が変わる昼と夜で閾値を変えたい クラウド側に定義ファイルを置きたい といった要望があった時に対応できることが考えられます。 デメリットとしては、IDEから定義が全く見えないせいで自動補完が効かず、ツールとしての恩恵を受けにくいことです。 型名と引数を書いたJSONをPyDanticのクラスに変換する この方法では、スキーマには、 型の名前(キー名: type, str型) Fieldクラスに渡す引数(

    Pydanticのデータ定義をJSONで書く色々な方法 - Qiita
    sh19910711
    sh19910711 2024/06/17
    "JSON形式でスキーマを定義して、PyDanticのクラスを作成する / 利用者の数が変わる昼と夜で閾値を変えたい + クラウド側に定義ファイルを置きたい / 自動補完が効かず、ツールとしての恩恵を受けにくい" 2023
  • X-RayはpytestとFlameGraphを組み合わせると便利 - Qiita

    この記事を3行で AWS X-Rayをpytestで使うと便利 関数の通過や例外の発生をassertでテストできる X-Rayの可視化にFlameGraphを使えば、各関数の実行時間が分かりやすい この記事を書く理由 AWS X-Rayが便利なので、AWS環境へのデプロイの前でも使える使い方を紹介したい。 完成後の挙動 この記事で作成する単体テストを、Pytestで実行すると、 単体テストが吐き出したX-Rayのデータをもとに、下のようなグラフがローカルのPC上に作成されます。 FlameGraphと呼ばれているグラフです。炎のように下から上に伸びていくことが特徴です。 グラフの縦の方向は関数の呼び出しを表しています。 たとえばこのグラフなら、下から上に読んで、lambda_handler関数がnetwork_process関数を呼び出して、そこからgoogle.co.jpへのリクエストを

    X-RayはpytestとFlameGraphを組み合わせると便利 - Qiita
    sh19910711
    sh19910711 2024/05/16
    "AWS X-Rayをpytestで使うと便利 / 実行された関数が想定通りか、例外の内容が想定通りか、といった試験が書きやすく、分かりやすい / 実装を変えながらパフォーマンスを比較 + 異常系のパフォーマンスを計測"
  • Claude3でサイゼリヤの間違い探しを解いてみる - Qiita

    この記事について 画像解析ができる強力な生成AI、Claude 3がAWSで使えるようになりました 現時点(2024/03/10時点)で、AWSではミドルクラスのSonnetしか使えないのですが、それでも十分な精度があります この記事では、難問と名高いサイゼリヤの間違い探しをClaude3にさせてみました 実施した環境 boto3(Python 3.12) AWS Bedrock Claude 3 Sonnet(バージョン:bedrock-2023-05-31) ※最上位のOpusはまだAWSで使えないため、Sonnetで検証します。 いまさらながら、サイゼリヤの間違え探しとはなんぞや サイゼリヤ(全国チェーンのレストラン)のキッズメニューにある間違い探しゲームです。 「大人が15分かけてようやく解けるレベル」に設定されているのですが、その難易度がたびたびニュースに取り上げられます。 日刊

    Claude3でサイゼリヤの間違い探しを解いてみる - Qiita
    sh19910711
    sh19910711 2024/03/11
    "Claude3 Sonnet: 現時点では、補助や工夫なしでサイゼリヤの間違い探しをすることは難しいようでした + OpusはまだAWSで使えない / 補助: OpenCVのabsdiff関数 + ピクセルの色がずれている場所を白く塗りつぶし"
  • 1