BioErrorLog Tech Blog

試行錯誤の記録

AI

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

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

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

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

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…

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

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

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

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…

Devlog #3 Unit testの導入と辞書機能の模索

ChatGPT x 架空言語なゲームの開発記録その3です。 前回はこちら: www.bioerrorlog.work はじめに Devlog Unit testの導入 辞書機能の模索 おわりに はじめに 前回は、ゲームにChatGPTを組み込んでテキストを生成させました。 今回は少し地味ですが、Unit …

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

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

Devlog #2 ゲームにChatGPTを組み込む

実際にゲームにChatGPTを組み込みます。 前回はこちら: www.bioerrorlog.work はじめに Devlog 設定画面の実装 API Keyの入力と保存 ChatGPTにセリフを出力させる 補足: カメラフォーカスの修正 おわりに はじめに 前回は、過去作をベースにテキストベースの…

Devlog #1 ChatGPTを使ったゲームを作る

ゲーム開発の記録を残します。 はじめに Devlog まずは過去作をベースにする テキストベースのゲームシステムを導入する 架空言語 x ChatGPTという組み合わせ おわりに はじめに 久しぶりにゲームでも作ってみようか、という機運が高まっています。 ChatGPT…

ChatGPTをGodot Engineから呼び出す

ChatGPT / OpenAI APIをGodot Engineのゲームから呼び出す実装の備忘録です。 はじめに ChatGPTをGodot Engineから呼び出す 概要 API Keyの保存とロード OpenAI APIを呼び出す 返答を画面に反映させる おわりに 参考 はじめに ゲーム分野は、昨今のLLM/生成A…

OpenAIの障害情報を確認する

ChatGPTをはじめとするOpenAIサービスの障害情報を、OpenAI公式から確認する方法のちょっとした備忘録です。 はじめに OpenAIの障害情報を確認する おわりに 参考 はじめに ChatGPTを使っていると、ちょっとサービスの調子が悪いように感じられることがあり…

LangChain 入門

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

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

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

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を組み合わせて何か面白いこと…

ChatGPTの使い方のコツをまとめる

面白いなと思った使い方、大事だなと思ったコツの個人的な備忘録です。 はじめに 前提 ChatGPTのTipsまとめ 基本編 鵜呑みにしない 途中で文章が途切れた時は "続けて" 汎用Tips 文脈を伝える 条件/制約や質問を明示する 相手の立場を指定する 回答の特性を…

ChatGPT Plusの解約方法

ChatGPT Plusの解約方法のメモです。 はじめに ChatGPT Plusの解約方法 おわりに 参考 はじめに GPT-4の登場に合わせて、ChatGPT Plusに課金しました。 サブスクの登録前に、その解約方法を知っておきたい方も多いと思います (自分もその一人です)。 調べて…

人工生命をつくりたい - 思うところとアプローチのメモ | ALife

生き物をつくりたい、そのモチベーションと必要そうな知識 / アプローチのメモを書き残します。 思うところ/個人的背景 アプローチ 人工生命 複雑系 人工知能 コンピューターウイルス アート おわりに 関連記事 参考 こんにちは、@bioerrorlogです。 まず冒…