投稿

ラベル(人工知能)が付いた投稿を表示しています

Azure OpenAIのAPIをPostmanで確認してPHPで実装する。

イメージ
前の記事でAzure OpenAI Serviceを利用する目途が立ったので、API経由でリクエストを投げてみたときの覚書。 参考サイト Azure OpenAI Service の REST API リファレンス - Azure OpenAI | Microsoft Learn 1.PostmanからAPIを叩く APIを試すならPostmanが便利。 Azure OpenAI Studio → Chat → View code → curl で分かる。 パラメータに関しては公式のREST APIリファレンスを参考に。 2.PHPからAPIを利用する 下記ライブラリがGitHubで公開されている。 GitHub - openai-php/client: ⚡️ OpenAI PHP is a supercharged community-maintained PHP API client that allows you to interact with OpenAI API. API Keyがあればリクエストを送信できるので、個人的にライブラリを使うまでもないと思う。 WordPressのプラグインとして実装するなら、API用のクラス内でwp_remote_postした方が保守しやすくなると思う。 wp_remote_post() | Function | WordPress Developer Resources timeoutはデフォルトで5秒なので設定するのを忘れずに。 APIからのレスポンスが10秒くらい掛かるのでWp-cronを使って非同期処理する。 Cron | Plugin Developer Handbook | WordPress Developer Resources 【関連記事】 Azure OpenAI Serviceの調査と利用申請してデプロイ(配備) Microsoft Graph API + PostmanでOneDriveにファイルアップロード

Azure OpenAI Serviceの調査と利用申請してデプロイ(配備)

ChatGPTをPHPから利用する方法を調査しているときの覚書。調査編。 1.ChatGPT EnterpriseとAzure OpenAI Service 2023å¹´8月28日に企業向けChatGPTがアナウンスされた。 参考: Introducing ChatGPT Enterprise ChatGPT Enterpriseは企業向けに制限緩和やレスポンス速度が改善されている。 ChatGPTのAPIは 平均37秒 。 Azure OpenAIは 平均12秒 。 参考:  ChatGPT API の速度をシュッと比較してみる|bbz Azure OpenAIは企業向けにセキュリティなどカスタマイズ性が高い 参考:  What is Azure OpenAI Service? - Azure AI services | Microsoft Learn まずはAzure OpenAIで試すことにした。 2.料金/費用 トークン数というテキスト構成単位で課金される。 文字数に近い。日本語だと文字数よりトークン数が大きくなる。 例えば「おはようございます。」は文字数10、トークン数14。 公式サイトのツールでトークン数が分かる。 参考: Tokenizer | OpenAI Platform GPT-4はGPT-3.5の価格の20倍。 参考:  Azure OpenAI Service - 価格 | Microsoft Azure GPT-3.5で1000文字入力して、1000文字の答えが返ってきたらおおよそ1円掛かるイメージ。 3.Azure OpenAI Serviceの利用申請してデプロイ(配備) 現在Azure OpenAI Serviceは利用申請する必要がある。 使える言語モデルはGPT-3.5。 GPT-4を利用するには別途Azure OpenAI GPT-4 Waitlistで申請する必要がある。 手順メモ Azure ポータルにアクセス Azure AI services multi-service accountを選択 「Azure の無料試用版から開始する」から従量制を契約サインアップする。 テクニカルサポートはなし 「お探しのページが見つかりません」になった。 Azure ポータルへ移動 Azure AI servic...

e-StatのAPIを利用してデータ分析【API利用準備編】

e-Stat統計情報APIでサービス作っているときの覚書。 公式サイト 政府統計の総合窓口(e-Stat)−API機能へようこそ | 政府統計の総合窓口(e-Stat)−API機能 APIまとめ メールアドレスがあれば誰でも利用可能 クレジット表示が必要 参考:  クレジット表示 | 政府統計の総合窓口(e-Stat)−API機能 利用手順 上記公式サイトのAPI機能からe-Statユーザ登録を行う マイページのAPI機能(アプリケーションID発行)から名称とURLを登録して発行。 開発用としては例えば下記のように登録。 名称: 開発 URL: http://dev.localhost/ 公式API仕様書を見ながらリクエストを送る データが膨大なので、まずは統計分野の分類コードで絞り込んで取得する。 参考:  統計分野 | 政府統計の総合窓口(e-Stat)−API機能 Python+XML形式で取得してPostgreSQLに流し込んでデータ分析に使う予定。 このデータの塊をどうビジネスに応用するのかが面白いところ。 【関連記事】 JavaScriptグラフ描画ライブラリ「Chart.js」 2022å¹´4月施行の改正個人情報保護法とCookieとGoogle Analytics

2022年4月施行の改正個人情報保護法とCookieとGoogle Analytics

ウェブサイトのアクセスをデータ分析する際にGoogle Analytics、Cookieを用いてどこまでが個人情報として扱われるか調査している時の覚書。 2022å¹´4月施行の改正個人情報保護法によってデータ分析も念頭に置いた改正が行われた。 最近、ウェブサイト訪問時にCookieによる情報取得を同意するポップアップが表示されるサイトが多くなったが、こんなユーザビリティ悪いことはしたくない。 参考サイト 個人情報保護委員会 - PPC |個人情報保護委員会 個人情報とは 個人情報保護法で最低限理解すべき言葉の定義。 個人情報 … 生存する個人を識別できる情報。 例)名前、住所、メールアドレス、 電話番号 +å¹´é½¢+出身地 参考:  【個人情報に該当する事例】個人情報の保護に関する法律についてのガイドライン(通則編) |個人情報保護委員会 匿名加工情報 … 個人情報を個人を識別できないように加工した情報(要復元不可)。 例)名前の匿名化、年齢の年代化(20代、30代)、出身地のエリア化(関東、関西) 仮名加工情報 … 匿名加工のように抽象化するのではなく、別の数字や記号に置き換えて、他の情報と照合しない限り特定の個人を識別しないように加工した情報。 例)名前をID化、性別をAかBに、Cookieに書き込まれたランダムなID ※ データ分析者に渡す際、個人情報を伏せたまま高品質の解析結果を得るため。 個人関連情報 … 個人情報、匿名加工情報、仮名加工情報のいずれでもない全ての情報 例)IPアドレス、端末情報、Cookieに書き込まれたログインID 組織であれば従業員の氏名および住所を管理しているため、全ての組織は個人情報取扱事業者に該当する。 参考:  従業者に関する個人情報データベース等しか保有していない場合であっても、個人情報取扱事業者に該当しますか。 |個人情報保護委員会 個人情報の取得と本人の同意 個人情報を取得するのに本人の同意と利用目的の通知(または公表)が必要。 ホームページ上のボタンのクリックでも 同意したとみなす ことができる。 参考:  2-16 「本人の同意」 取得の状況からみて 利用目的が明らかな場合は通知不要 。 参考:  2-14 「本人に通知」 、 3-3-5 利用目的の通知等をしなくてよい場合(法...

Google Analytics4とBigQueryを接続して生データを確認する

データ分析のためにGA4に送信した生データを確認している時の覚書。 環境: Google Tag Manager(GTM), Google Analytics 4(GA4) GA4とBigQueryの接続方法は下記公式サイトを参考に。 [GA4] BigQuery Export のセットアップ - アナリティクス ヘルプ 接続したら翌日以降に確認できる。 1日のデータを1テーブルとして参照できるようになる。 各カラムの説明のヘルプ。実際見てみた方が早い。 [GA4] BigQuery Export スキーマ - アナリティクス ヘルプ 1日ごとにテーブルが分かれてしまうので、これを別データセットに変換してデータ分析に使った方がいいのかな? 次回はGoogle Analytics APIの方も調べてみる。 【関連記事】 Google Tag Managerのデータレイヤー変数を理解する Google Analytics 4 + Google Tag Managerでイベント設定

Google Tag Managerのデータレイヤー変数を理解する

ウェブサイトのデータ分析のためにデータ収集している時の覚書。 環境: Google Analytics 4(GA4) データレイヤーとは Google Tag Manager(GTM)に情報を渡す仕組み。 データレイヤー - タグ マネージャー ヘルプ The data layer  |  Google Tag Manager for Web  |  Google Developers ポイント ウェブサイト上のdataLayer変数をGTMは監視している。 dataLayer.pushの引数をメッセージと呼ぶ。 メッセージ内はキーと値のペアで格納され、同じキー名であれば上書きされていく。 「event」キーはGTMのカスタムイベントと関連付けることができ、dataLayer.pushされた時点で発火する。 dataLayerの値を確認する方法 開発環境ではDevToolsで変数を監視する Watch variables in Sources - Chrome Developers PHPとJavaScriptで任意のタイミングでdataLayer.pushする仕組みにしようと思う。 PHPからdataLayerのメッセージを生成方法など下記プラグインが参考になる。 Google Tag Manager for WordPress – WordPress プラグイン | WordPress.org 日本語 本番環境ではGTMとGA4のツールを使うと簡単に確認できる。 具体的には下記動画が分かりやすい。 Using the Google Tag Manager Data Layer with WordPress // Reporting on content and logged in users - YouTube 【関連記事】 Google Analytics 4 + Google Tag Managerでイベント設定 Google Analytics4(GA4)の特徴と今までとの違い

Google Analytics4(GA4)の特徴と今までとの違い

データ分析のためにGA4を勉強している時の覚書。 Googleのスキルショップで一通り学べる。 Google アナリティクス 4 : Google GA4の特徴一覧。Universal Analyticsとの違い 全てイベントとして計測 ウェブサイトだけでなくアプリなどクロスプラットフォーム対応 機械学習モデルが利用可能 参考:  [GA4] 予測指標 - アナリティクス ヘルプ BigQueryと接続して生データへのアクセス可能 今までは有料版Googleアナリティクス360の利用が必要だった。 Googleシグナルを有効化するとクロスデバイス計測可能 Googleアカウントで「広告のカスタマイズ」をオンにしているユーザーのデータを参照可能。 手動で有効化する必要あり 。 参考:  [GA4] Google アナリティクス 4 プロパティで Google シグナルを有効化する - アナリティクス ヘルプ データ分析(機械学習)しやすい構造になっている。 Google Search Consoleとも連携できるようになっている。 参考:  [GA4] Search Console との統合 - アナリティクス ヘルプ GA4のCookieの利用 公式サイトを参考に。 Google アナリティクスによるウェブサイトでの Cookie の使用| ウェブ向けアナリティクス(analytics.js) | Google Developers Cookie とユーザーの識別 | Google アナリティクス 4 プロパティ | Google Developers 簡単なまとめ GA4でもCookieを使っている 最近禁止されるようになったのはサードパーティーCookie(表示ドメイン以外の広告用Cookie) 可能な限り上位のドメインで計測する サブドメインでのサイトは設定が必要(?) Cookieの有効期限は2å¹´ EUデータ保護規則(GDPR)、カリフォルニア州消費者プライバシー法(CCPA)などのデータ保護詳細:  データの保護 - アナリティクス ヘルプ GA4のデメリット データポータル(旧名:Google Data Studio)の「データ管理」コントロールが使えない。 学習コスト 自サイトのアクセス状況を確認するだけならGA4...

機械学習プロジェクトの進め方:CRISP-DM

機械学習プロジェクトを進めているときの覚書。 ウォーターフォールやアジャイルなどのシステム開発モデルのようなものが、機械学習(人工知能)プロジェクトにあるか専門家に聞いたら「CRISP-DM」というのを教えてもらった。 CRISP-DMの概要 読み:クリスプディーエム。 Cross-industry standard process for data miningの略。 データ分析のための開発モデル。 各工程と具体的なタスクが論理的にまとまっている。 「data mining」はデータの中から有益な情報を取り出すという意味。 wikipediaが分かりやすい。 Cross-industry standard process for data mining - Wikipedia データマイニング - Wikipedia CRISP-DMの工程(プロセス) IBMのドキュメントが分かりやすい。 CRISP-DM ヘルプの概要 | IBM Docs 工程一覧と概要 ビジネスを理解する (Business Understanding) データ分析によるビジネス目標を明確にし文書化する データを理解する (Data Understanding) 実際のデータにアクセスし、ビジネス目標を達成できそうか検討する データを準備する (Data Preparation) データを取捨選択し、計算できる数値に変換する(クリーニング)。 この工程がプロジェクト全体の50%~70%の時間。 モデリングを行う (Modeling) 適切なモデリング手法を選択し実行する モデルを評価する (Evaluation) ビジネス目標を達成するための有益な情報を引き出せているか評価する モデルを組み込む (Deployment) 製品やサービスにモデルを組み込む データ分析では計画(PDCAのPlan)を重視しているのが特徴。 ビジネス目標を忘れ迷走する(無駄に時間だけ掛かる)プロジェクトが多いらしい。 【関連記事】 ビーコンを使ったサービス