BioErrorLog Tech Blog

試行錯誤の記録

Python

torch.tensorとtorch.Tensorの違い | PyTorch

torch.tensor()とtorch.Tensor()の違いについての備忘録です。 はじめに torch.tensorとtorch.Tensorの違い 一言で 詳しく 補足: 空のtensorを作るには おわりに 参考 はじめに PyTorchでtensorを作るときはtorch.tensor()メソッドが使われることが多いです…

GPT-4 VisionとRaspberry Piを組み合わせる | GPTをロボット頭脳にする その2

Raspberry Pi上で、カメラ/サーボモーターとGPT-4 Visionを組み合わせて簡単なロボット実験を行います。 前回はこちら: www.bioerrorlog.work はじめに GPT-4 VisionとRaspberry Piを組み合わせる コンセプト 構成 ハードウェア ソフトウェア 動作結果 おわ…

LangCheckでLLMの回答を自動評価する

Citadel AIのLLM回答評価ツール"LangCheck"を使ってみます。 はじめに LangCheckとは 基本的な使い方 評価メトリクスには何があるか 補足: 評価メトリクス判定に使われるモデル LangCheckで回答自動評価をやってみる 補足: semantic_similarity()でEmbedding…

OpenAI APIエラー: The model `gpt-4-vision-preview` does not exist or you do not have access to it.

OpenAI APIでGPT-4Vを使うにあたって、下記のエラーが出た時の対処法の備忘録です。 openai.NotFoundError: Error code: 404 - {'error': {'message': 'The model `gpt-4-vision-preview` does not exist or you do not have access to it. Learn more: http…

GPTのstreamとtimeoutを併用した時の挙動 | OpenAI Python Library

OpenAI APIをPythonで呼び出すとき、GPTのstreamとtimeoutを併用するとどうなるのか、検証します。 はじめに GPTのstreamとtimeoutを併用した時の挙動 仮説 検証方法 検証結果 まとめ おわりに 参考 はじめに OpenAI APIをPythonで呼び出すときは、timeoutや…

OpenAI APIでGPTのstreamレスポンス | Python

OpenAI APIで、GPTのstreamレスポンスをPythonで実装する方法のメモです。 はじめに OpenAI APIでGPTのstreamレスポンス おわりに 参考 はじめに OpenAI APIでGPTを呼び出すと、デフォルトでは全ての回答生成が終わってからレスポンスが返ってきます。 これ…

venvでVSCodeのF12(Go to Definition)が機能しない問題の対処法 | Python

Pythonのvenv利用時に、VSCodeのF12(Go to Definition)が機能しない問題への対処法を整理します。 はじめに venvでVSCodeのF12(Go to Definition)が機能しない問題の対処法 原因 対処法 おわりに はじめに VSCodeのF12(Go to Definition)、便利ですよね。 し…

OpenAI Python Libraryでtimeoutを設定する

OpenAI Python LibraryでOpenAI APIを呼び出すときに、timeoutを設定する方法のメモです。 はじめに OpenAI Python Libraryでtimeoutを設定する やり方:request_timeout パラメータ 落とし穴:timeout パラメータ おわりに 参考 はじめに OpenAI Python Lib…

Code interpreter/Advanced Data Analysisの仕組みを理解する | ChatGPT

ChatGPTのCode interpreterの仕組みを、自分の理解で整理します。 ※ 追記:「Code interpreter」は、現在「Advanced Data Analysis」に改名されました。 中身の機能に変更はありません。 はじめに Code interpreterの仕組みを理解する Code interpreterの仕組…

LangChain 入門

LLMによる開発パターンを容易に実装できると噂のLangChainに入門します。 はじめに LangChainに入門する 事前準備 Chat Model Prompt Templates Chains Agents Memory おわりに 参考 はじめに LangChainは、LLMを活用した開発を容易に実現するフレームワーク…

flake8で特定ルールのみ指定してチェックする | Python

--selectオプションで指定できます。 はじめに flake8で特定ルールのみ指定する やり方 実行例 おわりに 参考 はじめに flake8を使っていて、特定ルール/エラーコードのみ指定してチェックを実行したくなりました。 --helpマニュアルをぱっと眺めて見逃して…

ChatGPTをロボットの頭脳にする その1: カメラ/サーボモーターとChatGPTを組み合わせる

Raspberry Pi上で、カメラ/サーボモーターとChatGPTを組み合わせて簡単な実験を行います。 次回はこちら: www.bioerrorlog.work はじめに ChatGPTとRaspberry Pi/カメラ/サーボモーターを組み合わせる プロトタイプコンセプト 構成 ハードウェア ソフトウェ…

Parquetファイルのダミーデータを生成する | Python

Pythonでparquetファイルのダミーデータを生成する方法の備忘録です。 はじめに Parquetファイルのダミーデータを生成する 補足:S3に配置する おわりに 参考 はじめに ちょっとした検証のために、ダミーデータのparquetファイルを用意する機会がありました…

GPTのtoken数を確認する | Python

GPTにて、テキストのToken数を確認する方法をまとめます。 はじめに GPTのToken数を確認する GUIで確認する | Tokenizer Pythonで確認する | tiktoken 終わりに 参考 はじめに ChatGPTでも使われているGPTシリーズは、その入力テキストを'Token'という単位で…

Raspberry PiでPyTorchがIllegal instructionエラーを起こす事象の対処法

Raspberry Pi 4でPyTorch2.0が下記エラーを出す事象の解決策をメモします。 Illegal instruction はじめに Raspberry PiでPyTorchがIllegal instruction 起きた事象 対処法 おわりに 参考 はじめに 最近、Raspberry PiとChatGPTを組み合わせて何か面白いこと…

SageMakerでlocal training jobが実行できない時の対処法 | Unable to locate credentials

Unable to locate credentials のエラーで、SageMaker instanceのlocal training jobが実行できないときの対処法をまとめます。 はじめに SageMakerでlocal training jobが実行できない時の対処法 事象 原因 対処法 おわりに 参考 はじめに SageMakerでは、S…

boto3とbotoの違い | AWS SDK for Pythonの歴史を調べる

boto3とbotoの違いや、そもそもの"boto"の由来など、AWS SDK for Pythonの歴史を調べてまとめます。 はじめに AWS SDK for Pythonの歴史 boto3とbotoの違い boto2はどこに行ったのか "boto"の由来 おわりに 参考 はじめに AWS SDK for Pythonとしてboto3をい…

Raspberry Piで複数のサーボモーターを制御する

PWM/サーボ制御モジュールを使わずに、複数のサーボモーターを制御する方法の備忘録です。 はじめに Raspberry Piで複数のサーボモータを制御する OS環境の準備 回路を組む サーボモータを動かすスクリプトの用意 サーボモータを動かす おわりに 参考 はじめ…

Athena経由でpandas DataFrameを作成する

Amazon Athena経由でpandas DataFrameを作成するやり方をまとめます。 はじめに awswrangler (AWS SDK for pandas)とは Athena経由でpandas DataFrameを作成する おわりに 参考 はじめに こんにちは、@bioerrorlogです。 Amazon Athenaクエリ経由でpandas Da…

boto3でエラーハンドリングする方法をまとめる | AWS SDK for Python

boto3でエラーハンドリングする方法を整理します。 はじめに boto3でエラーハンドリングする client.exceptions botocore.exceptions コード例 おわりに 参考 はじめに こんにちは、@bioerrorlogです。 boto3で発生するエラーをcatchしようとしたときに、少…

人工生命 "Lenia" を動かす | ALife

人工生命 "Lenia" を触って遊びます。 はじめに 作業環境 人工生命 "Lenia" を動かす Leniaとは Leniaを動かす いろんなLenia おわりに 参考 はじめに "Lenia" という美しい人工生命モデルがあります。 このデモ動画を見てみて下さい。 顕微鏡を覗いているよ…

boto3 clientのendpoint URLを確認する | AWS SDK for Python

作成済みboto3 clientのendpoint URLを確認する方法をまとめます。 はじめに 環境 boto3 clientのendpoint URLを確認する client.meta.endpoint_url client._endpoint.host おわりに 参考 はじめに こんにちは、@bioerrorlogです。 boto3クライアントの宣言…

Pythonでユーザー定義クラスのオブジェクトを等価比較する

Pythonで独自に定義したユーザー定義クラスのオブジェクト同士を等価比較する方法を整理します。 はじめに 動作環境 Pythonでユーザー定義クラスのオブジェクトを等価比較する __eq__メソッドでインスタンス変数を比較する __eq__メソッドで__dict__を比較す…

Pythonでメモリ/ディスク容量を確認する

Pythonを用いて、実行環境のメモリおよびディスク容量を確認する方法を整理します。 はじめに ディスク/メモリ容量を取得する ディスク容量 メモリ容量 おわりに 参考 はじめに Pythonを用いて、実行環境のメモリおよびディスク容量を確認する必要に迫られま…

DeletionPolicyの変更が反映されないときの対処法 | CDK/CloudFormation

CDKやCloudFormationにて、変更したDeletionPolicy (RemovalPolicy)がStackに反映されない時の対処法を残します。 はじめに DeletionPolicyの変更が反映されないときの対処法 起こったこと 原因 対処法 おわりに 参考 はじめに おはよう。@bioerrorlogです。…

AWS CDKでTagを付与する

AWS CDKでTagを付与する方法の備忘録です。 はじめに 環境 CDKでTagを付与する 具体例 Stack単位でTagを付与する Construct単位でTagを付与する 補足: 非推奨のTag付与方法 おわりに 参考 はじめに こんにちは、@bioerrorlogです。 CDKでリソースにTagを付与…

Lambdaのboto3バージョンを確認する | AWS SDK for Python

Lambdaのboto3/botocoreバージョンを確認する方法の備忘録です。 はじめに Lambdaのboto3バージョンを確認する方法 ドキュメントから確認する Lambda上から確認する おわりに 参考 はじめに こんにちは、@bioerrorlogです。 Lambdaからboto3を用いてAWS API…

“Failed to execute script XX” エラー対処: PyinstallerでPygameをexe化するときの注意点

PyinstallerでPygameスクリプトをexe化する際に発生した、以下のエラーに対処するためのチェックポイントを書き残します。 Failed to execute script XX はじめに 環境 “Failed to execute script XX” エラーの対処法 Pygameスクリプト内のimportパッケージ…

Pygameのexeファイルを作成する | PyInstaller

PygameスクリプトをPyinstallerを用いてexe化する方法の備忘録です。 はじめに 環境 PyInstaller でPygameのexeファイルを作成する 1. Pyinstallerのインストール 2. exeファイルの作成 3. ゲームアセット依存関係の解決 おわりに 参考 はじめに おはよう。@…

S3 ListBucketsの実行に必要なIAM権限 | AWS

S3 ListBucketsの実行に必要なIAM PolicyのAction権限について整理します。 はじめに 検証方法 S3 ListBucketsの実行に必要なIAM権限 結論 検証 おわりに 参考 はじめに おはよう。@bioerrorlogです。 S3のAPIを利用する際のIAM Policy設定にはしばしば悩ま…