DUICUO

11のAIツールを統合して完璧なアプリケーションを構築する

AIGC の詳細については、以下をご覧ください。

51CTO AI.x コミュニティ

https://www..com/aigc/

ご覧のとおり、人工知能(AI)アプリケーションは近年目覚ましい進歩を遂げています。音声アシスタントからソフトウェア開発まで、AIは今や私たちの生活に遍在し、幅広く利用されています。以下では、独自のAIアプリケーションを作成し、次のレベルへと導くのに役立つ25のオープンソースプロジェクトをご紹介します。

1. Taipy - データと AI アルゴリズムをネットワーク向けのすぐに使用できるアプリケーションに変換します。

オープンソースのPythonライブラリであるTaipy(https://github.com/Avaiga/taipy)は、仮説分析、インテリジェントなパイプライン実行、組み込みのスケジューリングおよびデプロイメントツールなどの機能を提供し、エンドツーエンドのアプリケーション開発を容易にします。例えば、Pythonベースのアプリケーション用のグラフィカルユーザーインターフェース(GUI)を作成し、データフロー管理を改善できます。さらに、データセットをプロットしたり、GUIに似たスライダーを使用して、ユーザーがデータ処理に役立つ他の機能を選択できるようにすることもできます。

Taipyは、パフォーマンスを犠牲にすることなく、ユーザーフレンドリーなインターフェース、効率的なデータ処理機能、そして使いやすさを提供します。インストールは「pip install taipy」コマンドを使用するだけで簡単です。さらに、Taipyは様々なコードベースを活用することで、開発を簡素化し、機能性を向上させることができます。

Taipy が最新バージョン v3.1 (https://docs.taipy.io/en/latest/relnotes/) をリリースしました。このバージョンの多機能コンポーネントオブジェクトにより、HTML または Python オブジェクトの可視化が可能になります。これにより、 Folium (https://python-visualization.github.io/folium/latest/)、Bokeh (https://bokeh.org/)、Vega-Altair (https://altair-viz.github.io/)、Matplotlib (https://matplotlib.org/) などのライブラリを可視化に使用できるようになります。また、Plotly Python (https://plotly.com/python/) のネイティブサポートも提供されており、チャート作成が容易になります。

Taipyは分散コンピューティングを活用してパフォーマンスを向上させながら、Python 3.12と完全に互換性があるため、ユーザーはTaipyプロジェクトで最新のツールとコードベースを使用できます。詳細については、 https://docs.taipy.io/en/latest/のドキュメントをご覧ください

下の画像は、チャットインターフェース(https://docs.taipy.io/en/release-3.1/gallery/llm/5_chatbot/ )です。このデモでは、OpenAIのGPT-4 APIを使用してメッセージへのレスポンスを生成しています。コードを変更することで、他のAPIやモデルを使用することもできます。

下の画像は、Taipy チームによって提供され、Taipy アプリケーションの構築を高速化するために使用できる Taipy Studio (https://docs.taipy.io/en/latest/manuals/studio/) という別の VSCode 拡張機能を示しています。

もちろん、アプリケーション用にTaipyをクラウドにデプロイすることもできます。コードベースの構造を理解したい場合は、HuggingFaceの記事「Taipyを使用してPythonでLLM用の大規模なWebインターフェースを作成する」(https://huggingface.co/blog/Alex1337/create-a-web-interface-for-your-llm-in-python)をご覧ください。

チュートリアルリソースに関しては、Taipyはコードとドキュメントを含む10以上のデモチュートリアルを提供しています。例えば:

  • Covidダッシュボード(https://covid-dashboard.taipy.cloud/Country)
  • ツイート生成(https://tweet-generation.taipy.cloud/)
  • データの可視化(https://production-planning.taipy.cloud/Data-Visualization)
  • リアルタイム顔認識(https://face-recognition.taipy.cloud/)

現在、Taipy v3 は GitHub で 7,000 を超えるスターを獲得しており、継続的に改善されています。

2. Supabase - Firebaseのオープンソース代替

AI アプリケーションを構築するには、多くの場合バックエンドが必要ですが、Supabase (https://github.com/supabase/supabase) は、このニーズを満たす優れたバックエンド サービス プロバイダーです。

関連ドキュメント (https://supabase.com/docs) を参照して、次の npm コマンド (Next.js) を使用して Supabase のインストールを開始できます。

 npx create-next-app -e with-supabase

次のコード スニペットは、CRUD 操作を実行する方法を示しています。

 import { createClient } from '@supabase/supabase-js' // Initialize const supabaseUrl = 'https://chat-room.supabase.co' const supabaseKey = 'public-anon-key' const supabase = createClient(supabaseUrl, supabaseKey) // Create a new chat room const newRoom = await supabase .from('rooms') .insert({ name: 'Supabase Fan Club', public: true }) // Get public rooms and their messages const publicRooms = await supabase .from('rooms') .select(` name, messages ( text ) `) .eq('public', true) // Update multiple users const updatedUsers = await supabase .from('users') .eq('account_type', 'paid') .update({ highlight_color: 'gold' })

Supabaseの認証、リアルタイム機能、Edge機能、ストレージ機能を活用することで、超高速アプリケーションを構築できます。Supabaseは、LangChainと連携したNext.js(https://github.com/langchain-ai/langchain-nextjs-template)、Next.jsと連携したStripe(https://github.com/vercel/nextjs-subscription-payments)、AIチャットボット(https://github.com/supabase-community/vercel-ai-chatbot)など、複数のスターターパッケージも提供しています。

現在、SupabaseはGitHubで63,000以上のスターを獲得し、多数の貢献者を抱えています。さらに、27,000件以上のコミットが行われています。

3. Chatoot - インスタント メッセージング、電子メール サポート、フル サービスのヘルプ デスク、独自のデータ。

Chatwoot (https://github.com/chatwoot/chatwoot) は、メール、ウェブサイトのインスタントメッセージ、Facebook、Twitter、WhatsApp、Instagram、Line といった一般的な顧客コミュニケーションチャネルと連携し、複数のソーシャルアプリケーションを横断したワンストップの顧客体験を実現します。下図に示すように、これは特定のAIアプリケーションを中心としたユーザーコミュニティの構築を目指す人にとって不可欠です。

ドキュメント(https://www.chatwoot.com/docs/product)を読むことで、様々な統合オプションについて学ぶことができ、エコシステム全体の管理が容易になります。ドキュメントは非常に詳細で、各統合のスナップショット例も掲載されています。例えば、WhatsAppチャンネルにはWhatsApp Cloud APIが付属しています。そのため、ワンクリックでHerokuにデプロイすることも、必要に応じてセルフホストすることも可能です。

現在、Chatoot はバージョン 3.6 をリリースしており、GitHub で 18,000 を超えるスターを獲得しています。

4. CopilotKit - 数時間以内に製品にAI Copilotを提供します

CopilotKit (https://github.com/CopilotKit/CopilotKit) を使用すると、2つのReactコンポーネントを使用して、Reactアプリケーションに様々な主要なAI機能を統合できます。また、`<CopilotKit />`、`<CopilotPopup />`、`<CopilotSidebar />`、`<CopilotTextarea />` といった、組み込み(ただし完全にカスタマイズ可能)のネイティブCopilotユーザーエクスペリエンスコンポーネントも提供されます。

関連するドキュメント (https://docs.copilotkit.ai/getting-started/quickstart-textarea) を読んで、次の npm コマンドを使用して Copilot のインストールを開始できます。

 npm i @copilotkit/react-core @copilotkit/react-ui @copilotkit/react-textarea

次のコード スニペットは、CopilotTextArea を統合する方法を示しています。

 import { CopilotTextarea } from "@copilotkit/react-textarea"; import { useState } from "react"; export function SomeReactComponent() { const [text, setText] = useState(""); return ( <> <CopilotTextarea className="px-4 py-4" value={text} onValueChange={(value: string) => setText(value)} placeholder="What are your plans for your vacation?" autosuggestionsConfig={{ textareaPurpose: "Travel notes from the user's previous vacations. Likely written in a colloquial style, but adjust as needed.", chatApiConfigs: { suggestionsApiConfig: { forwardedParams: { max_tokens: 20, stop: [".", "?", "!"], }, }, }, }} /> </> ); }

上記の方法を使用すると、LLM ベースのフルスタック アプリケーションで使用するための AI チャットボットを数分で構築できます。

5. DALL-E Mini - テキストプロンプトに基づいて画像を生成する

OpenAIの最初の印象的な画像生成モデルはDALL-Eでした。DALL-E miniは親会社の要請によりCraiyonに改名されました。Craiyon/DALL-E miniは、オープンソースモデルを用いてDALL-Eの結果を再現しようと試みています。下の画像に示すように、このモデルはCraiyon(https://www.craiyon.com/)で使用できます。

関連ドキュメント (https://github.com/borisdayma/dalle-mini?tab=readme-ov-file#development) を参照して、次のコマンド (開発用) を使用して DALL-E Mini のインストールを開始できます。

 pip install dalle-mini

DALL-E Miniのデータセット、アーキテクチャ、アルゴリズムの詳細については、DALL-E Miniのドキュメント(https://wandb.ai/dalle-mini/dalle-mini/reports/DALL-E-Mini-Explained-with-Demo--Vmlldzo4NjIxODA)をご覧ください。もちろん、「最高のAI人工画像とプロンプトの究極ガイド」(https://www.craiyon.com/blog/ultimate-guide-best-ai-art-photorealistic-images-and-prompts)も参考にしてください。

現在、DALL-E Mini バージョン 0.1 は GitHub で 14,000 を超えるスターを獲得しています。

6. Deepgram - アプリケーション向け音声AIの構築

スタートアップ企業からNASAまで、Deepgram(https://github.com/deepgram)のAPIは、何百万分もの音声を高速、正確、スケーラブル、そして費用対効果の高い方法で書き起こし、理解するために日々利用されています。Deepgramは、音声テキスト変換や音声翻訳のためのインテリジェントモデルも開発者に提供しています。

Deepgramの公式ドキュメント(https://developers.deepgram.com/docs/introduction)によると、Deepgramは無料モデルと可視化モデルの両方を提供しています。無料モデルは基本的な用途には十分です。可視化モデルは追加レイヤーであり、リアルタイムのストリーミング応答やオーディオファイルを表示し、オーディオインテリジェンスのレベルを比較することができます。

また、Deepgram のブログ例 (https://deepgram.com/learn/how-to-add-speech-recognition-to-your-react-project) を読んで、React および Node.js プロジェクトに音声認識機能を追加する方法を学ぶこともできます。

Deepgram API の柔軟性を実際に体験してみたい場合は、API プレイグラウンド (https://playground.deepgram.com/?smart_format=true&language=en&model=nova-2) にアクセスしてください。

7. InvokeAI - 安定的な普及モデルのための先進的なクリエイティブエンジン

Stable Diffusionの実装であるInvokeAI(https://github.com/invoke-ai/InvokeAI)は、オープンソースのテキストから画像、そして画像から画像を生成するジェネレーターです。業界をリードするWebUIを提供し、CLI経由のターミナルでの使用もサポートしており、多くの商用製品の基盤となっています。

InvokeAIは、Windows、Mac、Linuxマシン、そして4GBのRAMを搭載したGPUでも動作します。ハードウェア要件(https://invoke-ai.github.io/InvokeAI/installation/INSTALLATION/)、各種モデルのインストール方法(https://invoke-ai.github.io/InvokeAI/installation/050_INSTALLING_MODELS/)、そして自動インストールに関する重要な情報(https://invoke-ai.github.io/InvokeAI/installation/010_INSTALL_AUTOMATED/)については、こちらをご覧ください。

ドキュメント (https://invoke-ai.github.io/InvokeAI/features/IMG2IMG/) に記載されているように、InvokeAI は他の画像を使用して新しい画像を生成することもできます。

現在、InvokeAI は GitHub で約 21,000 個のスターを獲得しています。

8. OpenAI - 必要なものすべて

OpenAI(https://github.com/openai)は世界的に知られています。OpenAIを利用することで、DALL-Eを用いてテキスト記述に基づいたオリジナルでリアルな画像を作成したり、Whisperを用いて音声認識モデルを実装したりすることができます。

以下のコード スニペットに示すように、シンプルな API から構築を開始できます。

 completion = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "What are some famous astronomical observatories?"} ] )

もちろん、ドキュメント リンク ( https://platform.openai.com/docs/introduction) では、さらに多くのビルド オプションが提供されています。

上の画像に示すように、アシスタント アプリケーション (https://platform.openai.com/docs/assistants/overview) を作成し、API プレイグラウンド (https://platform.openai.com/playground/p/default-chat?model=text-davinci-003) を表示して理解を深めることができます。

9. DeepFaceLab - ディープフェイクを作成するための主要ソフトウェア

DeepFaceLab (https://github.com/iperov/DeepFaceLab) は、ディープフェイクを実装するためのトップクラスのオープンソースツールです。ここで言うディープフェイクとは、深層学習を用いて画像や動画を操作する技術を指します。写真や短編動画の顔を入れ替えるためによく使用され、ジョークとして使われることもあれば、詐欺として使われることもあります。

上の画像に示すように、Python を使用して構築されたディープフェイク ツールである DeepFaceLab は、メディア内の顔を変更したり、しわや老化の兆候を除去したり、唇の動きを操作することさえできます。

DeepFaceLab を効果的に使用する方法を学ぶには、基本的なチュートリアル (https://www.youtube.com/watch?v=kOIMXt8KK8M) を使用するか、リンク (https://www.youtube.com/channel/UCGf4OlX_aTt8DlrgiH3jN3g/videos) から DeepLab アルゴリズムを紹介するビデオを視聴することができます。

残念ながら、DeepFaceLabには「Make Everything Work」ボタンがありません。しかし、ワークフローを学習することで、特定のニーズに合わせたカスタマイズが可能です。さらに、豊富なチュートリアルと信頼性の高いアルゴリズムを備えているため、AIアプリケーションにとって信頼できる選択肢となります。

2023 年 11 月 9 日現在、DeepFaceLab は GitHub で約 44,000 個のスターを獲得しています。

10. Detectron2 - PyTorchをベースにしたモジュール型物体検出ライブラリ

Facebook AI Researchの次世代コードベースであるDetectron2は、Facebook上の複数のコンピュータービジョン研究プロジェクトと実稼働アプリケーションをサポートしています。Detectronとmaskrcnn-benchmarkの後継として、最先端の物体検出およびセグメンテーションアルゴリズムモデルを提供します。同時に、Detectron2は進化し続ける研究の最先端にも適応できます。

Detectron2を使った機械学習の使い方については、https://www.youtube.com/watch?v=eUSgtfK4ivk のリンクをクリックしてください。Detectron2は、DensePoseやパノプティック特徴ピラミッドネットワークといった高度な物体検出アルゴリズムを搭載しています。これらのアルゴリズムに基づき、Detectron2はセマンティックセグメンテーションとパノプティックセグメンテーションを実行でき、画像や動画内の物体をより正確に検出・分割することができます。

さらに、Detectron2 は、境界ボックスとインスタンス セグメンテーション マスクを使用したオブジェクト検出をサポートするだけでなく、Detectron と同様に人間のポーズを予測することもできます。

現在、Detectron2 は GitHub で 28,000 を超えるスターを獲得しており、GitHub 上の 16,000 人を超える開発者によって使用されています。

11. FastAI - 深層学習ライブラリ

汎用性の高いディープラーニングライブラリであるFastai(https://github.com/fastai/fastai)は、実践者に一般的なディープラーニングタスクにおいてクラス最高の結果を迅速に達成するための高レベルコンポーネントを提供します。同時に、研究者には実験や新しい手法の開発のための低レベルコンポーネントも提供します。

このアーキテクチャは、Pythonの動的な性質とPyTorchの柔軟性を活用し、複雑なディープラーニング技術を管理しやすい抽象化へと分解します。図に示すように、このアーキテクチャは、構成可能なコンポーネントを提供する低レベルAPIの階層構造上に構築されています。そのため、ユーザーが高レベルAPIの一部を書き換えたり、ニーズに合わせて特定の動作を追加したりしたい場合でも、最下層APIの使い方を習得する必要はありません。

pyTorch をインストールしたら、そのドキュメント (https://docs.fast.ai/) を参照し、次のコマンドを使用して FastAI を使い始めることができます。

 conda install -c fastai fastai

FastAIは、初心者、中級者、上級者向けにそれぞれ異なるチュートリアルを提供しています(https://docs.fast.ai/tutorial.html)。もちろん、FastAIに貢献したい場合は、事前にコードスタイルガイドライン(https://docs.fast.ai/dev/style.html)をお読みください。

現在、FastAI は GitHub で 25,000 を超えるスターを獲得しており、GitHub 上の 16,000 人を超える開発者によって使用されています。

パート2:14のAIツールを統合して完璧なアプリケーションを構築する

翻訳者紹介

51CTOのコミュニティエディターであるJulian Chenは、ITプロジェクトの実装において10年以上の経験を有しています。社内外のリソースとリスクの管理に長けており、ネットワークと情報セキュリティに関する知識と経験の普及に注力しています。

原題:完璧なAIアプリを構築するために必要なすべてのツール。著者:Anmol Baranwal

リンク: https://dev.to/taipy/all-the-tools-i-need-to-build-a-perfect-ai-app-2oeh

AIGC の詳細については、以下をご覧ください。

51CTO AI.x コミュニティ

https://www..com/aigc/