Gradioは、機械学習モデル、API、Python関数などを用いたインタラクティブなWebアプリケーションを構築するためのオープンソースのPythonライブラリです。sambanova-gradio パッケージは、 Gradio に SambaNova モデルを簡単に統合できるよう機能を拡張したものです。開発者が SambaNova のモデルをアプリケーションに接続するためのユーザーフレンドリーなインターフェースを提供します。 sambanova-gradio パッケージには、OpenAIおよびGradioへの2つの依存関係があります。また、セットアップを簡略化するための レジストリ関数sambanova_gradio.registry が用意されており、様々なモデルへのシームレスな接続を容易にします。レジストリ関数ではnameパラメータにmodel IDを指定することにより、スクリプトを実行すると、指定されたモデルを使用してアプリケーションインターフェースが自動的に生成されます。 実装の詳細と追加設定については、Githubリポジトリをご参照ください。

インストール手順

SambaNova モデルをGradioと連携させるには、以下の手順に従ってください。
1

以下のコマンドを実行して、必要なパッケージ (sambanova-gradio) をインストールします。

pip install sambanova-gradio
2

取得した SambaNova APIキーを、以下のように環境変数として設定します。

export SAMBANOVA_API_KEY=<your-api-key>

Gradioインターフェースの作成

sambanova_gradio.registry関数を使用することで、SambaNova モデルと連携した Gradio アプリケーションを簡単に起動することができます。
以下のPythonスクリプトは、Meta-Llama-3.1-405B-Instructモデルを利用した例です。
import gradio as gr
import sambanova_gradio

gr.load(
    name='Meta-Llama-3.1-405B-Instruct',
    src=sambanova_gradio.registry,
).launch()

インターフェースのカスタマイズ

モデル名、入出力コンポーネント、その他の設定をgr.Interfaceに渡すことで、インターフェースを自由にカスタマイズできます。以下の例をご参照ください。
import gradio as gr
import sambanova_gradio

gr.load(
    name='Meta-Llama-3.1-405B-Instruct',
    src=sambanova_gradio.registry,
    title='Sambanova-Gradio Integration',
    description="Chat with Meta-Llama-3.1-405B-Instruct model.",
    examples=["Explain quantum gravity to a 5-year old.", "How many R are there in the word Strawberry?"]
).launch()

画面イメージ

上記のコードスニペットを実行すると、以下のようなインターフェースが生成されます。 Gradio連携による他のアプリケーション例については、SambaNova の Hugging Face Spacesをご覧ください。