前回の投稿「ファブリーズAI:テクニカル・ジャーニー」では、ファブリーズAIを構築するまでの道のりを一通り説明しました。 最初はChat GPT 3と3.5を使いました。 その結果に失望した私は、Langchainフレームワークを使ってその上に独自のAIモデルを構築しようとしました。
現在のファブリーズAIのトレーニングの流れはこうだ:
- 学習データ(ブログ記事、YoutubeのURL、ポッドキャストのURL、PDFのURL、画像のURL)はWordPressのデータベースに保存されている。
- データを抽出し、構造化する。
- 構造化されたデータをOpen AIに提供し、Assistants APIを使って学習させる。
- そしてOpen AIはベクターストアのデータベースを作成し、それを保存する。
以下に構造化データの例を示す。 各コンテンツは、それぞれ独自のJSONファイルを持っている。 32,000トークンの制限を超えないようにします。
{
“id”:”1”,
“date”:” “,
“link”: “https://fabricegrinda.com/”、
“タイトル”:{
“レンダリング”:「ファブリスAIとは?
},
“カテゴリー”:「ファブリスについて
“featured_media”:”https://fabricegrinda.com/wp-content/uploads/2023/12/About-me.png”、
“other_media”:””,
“knowledge_type”:「ブログ
“contentUpdated”:”ファブリスAIは、ファブリスのブログ記事と、ChatGPTを使って書き起こされたポッドキャストやインタビューに基づく、ファブリスの考えをデジタル化したものです。書き起こしの多くは不完全に書き起こされたものであり、ブログはファブリス個人の限られた表現に過ぎないため、不正確さや情報の欠落があることをお詫びいたします。とはいえ、これは多くのトピックに関するファブリスの考えを得るための良い出発点である。”
}
これが現在の技術的な実装である:
- 消費者向けのウェブサイトはAWS Amplifyでホスティングされている。
- 公開サイトとOpen AIとの統合はAPIレイヤーを通じて行われ、APIレイヤーはPython APIサーバーとしてAWS上でホストされている。
- 私たちはMongoDBをログとして使用し、一般ユーザーからの質問、チャットGPTによる回答、出典のURLを保存しています。
- 私たちは様々なスクリプトを使って、ブログやYouTubeなどのデータを構造化し、トレーニングのためにOpen AIに渡している。
- 私たちはReact-Speech Recognitionを使用して、音声による問い合わせをテキストに変換します。
- また、ウェブサイトのトラフィックを追跡するためにGoogle Analyticsを使用しています。
注目すべきは、2人のアシスタントを起用していることだ:
- ひとつは質問に答えるため。
- 1つはメタデータURLを取得するためのもので、回答の下にソースを表示するためのオリジナルコンテンツを持つブログのURLである。
次はどうする?
- 音声テキストの改善
Open AIのWhisper 音声合成モデルは、Reactよりも精度が高い。 また、すぐに多言語に対応し、混在言語やアクセント、方言の扱いにも優れている。 その結果、私は今後数ヶ月のうちにWhisperに移行する可能性が高い。 とはいえ、セットアップはより複雑なので、しばらくかかるかもしれません。 モデルを扱い、依存関係(Pythonやライブラリなど)を管理し、効率的なパフォーマンスのために十分なハードウェアを確保する必要がある。 また、Whisperはブラウザで直接使うようには設計されていない。 ウェブアプリを構築する場合、複雑さを増すトランスクリプションを処理するバックエンドサービスを作成する必要があります。
- ファブリスAIアバター
見た目も声も私に似ていて、会話もできるFabriceのAIアバターを作りたいんだ。 D-iDを評価しましたが、私の目的には高すぎると思いました。Eleven Labsは音声のみです。Synthesiaは素晴らしいが、今のところリアルタイムでビデオを作成することはできない。 最終的には、より適切な価格設定と機能性を考慮してHeyGenを使うことにしました。
いつかはOpen AIが独自のソリューションをリリースするだろうから、この作業は無駄になるだろう。 私はそのことに納得しているし、そうなればいつでもOpen AIソリューションに切り替えるつもりだ。 現段階では、この練習全体のポイントは、AIで何が可能なのか、そしてそのためにはどれだけの作業が必要なのかを学ぶことであり、その空間をより深く理解することにある。
- カスタムダッシュボード
現在、MongoDBクエリを実行して、その日の質問と回答の抽出を取得する必要があります。 私は、言語ごとのクエリの数、音声テキストリクエストの数などの抽出と簡単な統計を取得できる簡単なダッシュボードを構築しています。
- その他のデータソース
FJラボのポートフォリオをFabrice AIにアップロードしました。 ある企業がポートフォリオに含まれているかどうかを尋ねることができます。 Fabrice AIはその企業の簡単な説明とウェブサイトへのリンクを回答します。
ファブリスAIが答えを持っていない個人的な質問を数多く受けていたため、私は時間をかけて、50 歳の誕生日ビデオのすべてのスピーカーに手動でタグを付け、必要なコンテンツを提供した。
結論
私がこの12ヶ月間、AIに関連するあらゆることに取り組んできた中で、明確な普遍的結論があるように思う。それは、待てば待つほど、より安く、より簡単に、より良くなり、Open AIがそれを提供する可能性が高まるということだ! それまでの間、何か質問があれば教えてほしい。