Hugging FaceとGradioを使用して、5分でAIチャットボットを構築する

Using Hugging Face and Gradio, build an AI chatbot in 5 minutes.

この短いチュートリアルでは、Microsoft DialoGPTモデル、Hugging Face Space、およびGradioの干渉を使用して、シンプルなチャットボットを作成します。同様のテクニックを使用して、5分で独自のアプリを開発およびカスタマイズすることができます。

1. 新しいスペースの作成

  1. hf.coにアクセスし、無料アカウントを作成します。その後、右上の表示画像をクリックし、「新しいスペース」オプションを選択します。
  2. アプリ名、ライセンス、スペースのハードウェア、可視性を入力します。

  1. 「スペースの作成」を押してアプリケーションを初期化します。
  2. リポジトリをクローンし、ローカルシステムからファイルをプッシュするか、ブラウザを使用してHugging Faceでファイルを作成および編集することができます。

2. ChatBotアプリファイルの作成

「ファイル」タブをクリックして、+ファイルを追加>新しいファイルを作成します。

Gradioのインターフェースを作成します。コードをコピーすることができます。

「microsoft/DialoGPT-large」のトークナイザーとモデルをロードし、「予測」関数を作成して、応答と履歴を取得します。

from transformers import AutoModelForCausalLM, AutoTokenizer
import gradio as gr
import torch


title = "🤖AIチャットボット"
description = "最先端の大規模事前学習応答生成モデル(DialoGPT)"
examples = [["お元気ですか?"]]


tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-large")
model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-large")


def predict(input, history=[]):
    # 新しい入力文をトークン化する
    new_user_input_ids = tokenizer.encode(
        input + tokenizer.eos_token, return_tensors="pt"
    )

    # チャット履歴に新しいユーザー入力トークンを追加する
    bot_input_ids = torch.cat([torch.LongTensor(history), new_user_input_ids], dim=-1)

    # 応答を生成する
    history = model.generate(
        bot_input_ids, max_length=4000, pad_token_id=tokenizer.eos_token_id
    ).tolist()

    # トークンをテキストに変換し、応答を行ごとに分割する
    response = tokenizer.decode(history[0]).split("<|endoftext|>")
    # print('decoded_response-->>'+str(response))
    response = [
        (response[i], response[i + 1]) for i in range(0, len(response) - 1, 2)
    ]  # リストのタプルに変換する
    # print('response-->>'+str(response))
    return response, history


gr.Interface(
    fn=predict,
    title=title,
    description=description,
    examples=examples,
    inputs=["text", "state"],
    outputs=["chatbot", "state"],
    theme="finlaymacklon/boxy_violet",
).launch()

さらに、アプリにはカスタマイズされたテーマ「boxy_violet」が提供されています。お好みに合わせてGradioテーマギャラリーを参照してテーマを選択できます。

3. 要件ファイルの作成

今、`requirement.txt`ファイルを作成し、必要なPythonパッケージを追加する必要があります。

transformers
torch

その後、アプリがビルドを開始し、数分以内にモデルをダウンロードしてモデル推論をロードします。

4. Gradioデモ

Gradioアプリは素晴らしいです。異なるモデルのアーキテクチャごとに「predict」関数を作成して、応答を取得し、履歴を維持するだけです。

kingabzpro/AI-ChatBotでアプリとチャットや対話ができるようになりました。または、https://kingabzpro-ai-chatbot.hf.spaceを使用してアプリをウェブサイトに埋め込むこともできます。

kingabzpro/AI-ChatBotからの画像

まだ混乱していますか?Spacesで数百のチャットボットアプリを探して、インスピレーションを得てモデル推論を理解してください。

たとえば、「LLaMA-7B」でファインチューニングされたモデルがある場合、モデルを検索し、下にスクロールしてモデルのさまざまな実装を確認してください。

decapoda-research/llama-7b-hfからの画像

結論

まとめると、このブログでは、Hugging FaceとGradioを使用してAIチャットボットをわずか5分で作成する方法について、簡単なチュートリアルを提供しています。ステップバイステップの手順とカスタマイズ可能なオプションにより、誰でも簡単にチャットボットを作成できます。

楽しかったですし、何か学べたことを願っています。Gradioデモをコメント欄で共有してください。もっと簡単な解決策をお探しの場合は、OpenChatをチェックしてみてください:数分でカスタムチャットボットを構築するための無料でシンプルなプラットフォームです。Abid Ali Awan(@1abidaliawan)は、機械学習モデルの構築が大好きな認定データサイエンティストプロフェッショナルです。現在はコンテンツ作成と機械学習およびデータサイエンス技術に関する技術ブログの執筆に注力しています。Abidはテクノロジーマネジメントの修士号とテレコミュニケーションエンジニアリングの学士号を持っています。彼のビジョンは、メンタルヘルスに悩む学生のためにグラフニューラルネットワークを使用したAI製品を構築することです。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

データサイエンス

「JAXにおけるディープ強化学習の優しい入門」

最近の強化学習(RL)の進歩、例えばWaymoの自律タクシーやDeepMindの人間を超えたチェスプレイヤーエージェントなどは、ニュ...

人工知能

AIによって設計されたカードゲーム、I/O FLIPをプレイしましょう

Google I/O 2023に間に合うように、生成AIで構築されたオンラインカードゲームI/O FLIPをお試しください

データサイエンス

埋め込みとベクトルデータベース 実践的なガイド!

生成AIは急速に進化し、テクノロジーやデータ管理の景観を根本的に変えているベクターデータベースの世界へようこそ

機械学習

「AIとMLが高い需要になる10の理由」 1. ビッグデータの増加による需要の増加:ビッグデータの処理と分析にはAIとMLが必要です 2. 自動化の需要の増加:AIとMLは、自動化されたプロセスとタスクの実行に不可欠です 3. 予測能力の向上:AIとMLは、予測分析において非常に効果的です 4. パーソナライズされたエクスペリエンスの需要:AIとMLは、ユーザーの行動と嗜好を理解し、パーソナライズされたエクスペリエンスを提供するのに役立ちます 5. 自動運転技術の需要の増加:自動運転技術の発展にはAIとMLが不可欠です 6. セキュリティの需要の増加:AIとMLは、セキュリティ分野で新たな挑戦に対処するために使用されます 7. ヘルスケアの需要の増加:AIとMLは、病気の早期検出や治療計画の最適化など、医療分野で重要な役割を果たします 8. クラウドコンピューティングの需要の増加:AIとMLは、クラウドコンピューティングのパフォーマンスと効率を向上させるのに役立ちます 9. ロボティクスの需要の増加:AIとMLは、ロボットの自律性と学習能力を高めるのに使用されます 10. インターネットオブシングス(IoT)の需要の増加:AIとMLは、IoTデバイスのデータ分析と制御に重要な役割を果たします

「2024年におけるAIとMLの需要急増を促している10の主要な要因を発見し、さまざまな産業で探求しましょう技術の未来を探索し...

データサイエンス

データサイエンティストが生産性を10倍にするための5つのツール

AIツールは、単調で繰り返されるタスクを自動化することで、データサイエンティストの生産性を最大限に引き上げるのに役立ち...

機械学習

「ディープラーニングを用いたナノアレイの開発:特定の構造色を生み出すことができるナノホールアレイを設計する新しいAI手法」

色の多様性は、2つ以上の色の組み合わせによってさらに増加します。光は微細なナノ構造と相互作用し、複数の色の固有のパター...