BioErrorLog Tech Blog

試行錯誤の記録

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

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

Ubuntuの鶴の壁紙の詳細を調べる

Ubuntuに入っている綺麗な鶴の壁紙の詳細を追います。 はじめに Ubuntuの鶴の壁紙の詳細を調べる 画像ファイルを調べる この絵が作られた場所 この絵のタイトル 元データで遊ぶ おわりに 参考 はじめに Ubuntuの鶴の壁紙 このUbuntuの鶴の壁紙、綺麗で面白い…

ファイル名をコマンドで一括変更する | Linux

renameコマンドでできます。 はじめに renameコマンド 基本的な使い方 ファイル名を一括変更する おわりに 参考 はじめに aaa-1.txt aaa-2.txt aaa-3.txt このようなファイルがあったときに、 bbb-1.txt bbb-2.txt bbb-3.txt のようなファイル名に、CLIコマ…

LLMOps: LLMアプリケーションDevOpsのポイントを整理する

LLMOpsとは何か? 概念の勘所をまとめます。 はじめに 補足: LLMOpsの指す範囲について LLMOps モデルの選定 プロンプト管理 テスト/品質評価 デプロイ モニタリング 継続的改善とfine-tuning 結論: LLMアプリケーションのテスト駆動開発 おわりに 参考 はじ…

"Tarpit Idea"とは何か

スタートアップ界隈でよく聞く"Tarpit Idea"とは何か、備忘録です。 はじめに "Tarpit Idea"とは何か 直訳すると? スタートアップ界隈での意味合い おわりに 参考 はじめに スタートアップ界隈、特にY Combinator関連でよく耳にする"Tarpit Idea"という言葉…

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

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

LLMの回答を自動評価するOpenAIプラクティス

OpenAIのプロンプトエンジニアリングガイドに従って、LLMの回答を自動評価するプラクティスを整理します。 はじめに LLM回答の自動評価ベストプラクティス 回答評価の具体例 例1. ある既知の事実が回答に含まれているか評価する 例2. 理想回答との矛盾や重な…

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

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

"e/acc" とは何か

AI

最近 "e/acc" という単語を目にする。 なにこれ? はじめに e/acc とは何か 一言で もっと知りたい おわりに 参考 はじめに 海外、特にシリコンバレー界隈のテック業界人関係でよく目にする"e/acc" という単語。 何のことなのか全く知らなかったので備忘メモ…

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…

LLMと脳理論: Active Inferenceの違いと類似点

自由エネルギー原理のActive Inference (能動的推論)と、LLM (大規模言語モデル)の違いと類似点を、論文 "Predictive Minds: LLMs As Atypical Active Inference Agents" から整理します。 はじめに 一言でまとめると 論文メモ: Predictive Minds: LLMs As A…

LLMアプリケーションアーキテクチャ入門

LLMアプリケーションにおけるアーキテクチャ構成の考え方を学びます。 はじめに LLMアプリケーションアーキテクチャ入門 LLMアプリケーション構築の5ステップ 1. 解決すべき1つの課題を明確にする 2. LLMモデルを選定する 3. LLMモデルをカスタマイズする 4.…

OpenAIのサムアルトマンCEO解任の件をまとめる

サムアルトマンCEOが取締役会との喧嘩別れで解任されてしまった。 なんということだ。 はじめに OpenAIのサムアルトマンCEOが解任された件 OpenAIからの発表 サムアルトマン解任の理由 サムアルトマン本人の反応 追記: グレッグ・ブロックマンの反応 追記: …

OpenAI DevDayのアップデートまとめ | 要約版

2023年11月6日に行われた、OpenAI DevDayアップデートを要約します。 はじめに OpenAI DevDayアップデートまとめ GPT-4 Turboの発表 GPT-3.5 Turboのアップデート Assistants APIの発表 マルチモーダルAPI GPTsの発表 おわりに 参考 はじめに OpenAI DevDay…

VSCodeのDraw.ioのダークテーマを解除する

VSCode上で利用するDraw.ioのダークテーマを解除する方法の備忘録です。 Draw.ioのダークテーマは使いにくい ダークテーマの解除方法 おわりに Draw.ioのダークテーマは使いにくい VSCode拡張の"Draw.io Integration"は、VSCode上でDraw.ioを扱える便利な機…

エラー対処: オブジェクトの中の少なくとも1個がパスでないため、ブーリアン演算できません | Inkscape

オブジェクトの中の少なくとも1個がパスでないため、ブーリアン演算できません というエラーが出て、Inkscapeのパスオブジェクト操作ができないときの対処法をメモします。 はじめに エラー対処法 おわりに 参考 はじめに この重なり合った二つの歯車状のパ…

サブドメインで新規ブログを開設する | はてなブログ

はてなブログで、独自ドメインのサブドメインを使って新規ブログ開設する方法の備忘録です。 はじめに 想定する前提条件 補足: 追加料金はかかるのか? サブドメインで新規ブログを開設する 1. サブドメインの作成 (お名前.com) 2. 新規ブログの開設 3. 新規…

GodotからEbitengineに乗り換えた理由を整理する | Devlog #4

ゲーム開発記録その4。 GodotからEbitengineに乗り換えていたので、その理由と所感を整理します。 前回はこちら: www.bioerrorlog.work はじめに GodotからEbitengineに乗り換えた理由 ツールに詳しくなる vs 自分で実装する AIの恩恵を受けやすい 小さい歩…

Private SubnetのCloud9からAWS APIが叩けない問題 | AWS managed temporary credentials

AWS managed temporary credentialsを使うと、Private Subnetに構築したCloud9からAWS APIが叩けない、ということの備忘録です。 はじめに Private SubnetのCloud9からAWS APIが叩けない問題 起きた現象 なぜAWS APIが叩けないのか 対処法 おわりに 参考 は…

雰囲気で味わうTGS2023 初体験レポ | Tokyo Game Show 2023

Tokyo Game Showに初めて行ってきたので、体験レポを残します。 Tokyo Game Show 2023 はじめに TGS2023 初体験記 チケットを買う 当日: 会場に向かう インディー会場 メイン会場 感想 おわりに 参考 はじめに 昨日(2023/09/23 土曜日)、Tokyo Game Show 202…

テストデータをどこに配置するべきか | Go言語

Go

結論: testdataディレクトリに配置します。 はじめに テストデータをどこに配置するべきか おわりに 参考 はじめに Goでテストを書いているとき、テストデータをどこに配置するべきか悩みました。 調べてみたらGo公式で明記されていたので、備忘録にメモしま…

Terraformのone()関数の振る舞いを理解する

Terraformのone()関数の挙動を整理します。 はじめに one()関数の振る舞いを理解する one()関数の仕様 具体例 one()関数の使いどころ おわりに 参考 はじめに Terraformにはone()関数が用意されています。 端的すぎる命名ということもありパッと挙動がわから…

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を呼び出すと、デフォルトでは全ての回答生成が終わってからレスポンスが返ってきます。 これ…

Godot Engineでパラメータテストを書く | GUT

Godot EngineのGUTプラグインを使って、パラメータテスト/parameterized testを書く方法を整理します。 はじめに Godot Engineでパラメータテストを書く おわりに 参考 はじめに 以前、Godot Engineでテストを書く方法をまとめました: www.bioerrorlog.work…

攻撃者目線で学ぶPrompt Injection | Gandalf

Prompt Injectionを攻撃者目線で遊べるサイトGandalfの紹介です。 はじめに 攻撃者目線で学ぶPrompt Injection Gandalf ちょっとやってみる例 解法を学ぶ おわりに 参考 はじめに LLMを利用したサービスを開発するときは、Prompt Injectionにどう対策するか…

Go製ゲームエンジンEbitengine入門: Boids Flockingを実装する

Boids Flockingの実装を通して、Go製のゲームエンジンEbitengineに入門します。 はじめに Ebitengineとは 今回作ったもの: Boids Flocking Boids Flockingを実装する 最小構成: Hello, World! ディレクトリ構成 ゲームロジックの実装 Boids Flockingロジック…

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)、便利ですよね。 し…

M2 MacでStable Diffusionを動かす | Stable Diffusion web UI

M2 MacにStable Diffusion web UIをインストールし、動かしてみます。 はじめに M2 MacでStable Diffusion web UIを動かす 1. 必要ライブラリのインストール 2. Stable Diffusion web UIのソースコードをcloneする 3. Stable Diffusionモデルを配置する 4. S…

OpenAI Python Libraryでtimeoutを設定する

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