Grazier は、統合 API から大規模な言語モデルを簡単に呼び出すための Python ライブラリです。
OpenAI より:
アントロピック より:
Google/GCP より:
ハギングフェイスより
Facebookより(Huggingface経由)
スタンフォードより (Huggingface経由)
バークレーより (Huggingface経由)
StabilityAI より (Huggingface 経由)
AllenAI より (Huggingface より)
AI21より
画像/言語モデル:
Grazier は pip を使用して簡単にインストールできます。
pip install grazier
各 LLM には追加のセットアップが必要な場合があります。詳細については、以下のエンジン セットアップ セクションを参照してください。
補完エンジンの場合は次のように簡単です。
import grazier
grazier . list_models ()
[ 'gptj-6B' , 'gpt2' , 'gpt2-med' , 'gpt2-lg' , 'gpt2-xl' , 'distilgpt2' , 'gptneo-125M' , 'gptneo-1.3B' , 'gptneo-2.7B' , 'stablelm-3B' , 'stablelm-7B' , 'opt-125M' , 'opt-350M' , 'opt-1.3b' , 'opt-2.7b' , 'opt-6.7b' , 'opt-13b' , 'opt-30b' , 'opt-66b' , 'llama-7B' , 'llama-13B' , 'llama-30B' , 'llama-65B' , 'gpt3-davinci3' , 'gpt3-davinci2' , 'gpt3-curie' , 'gpt3-babbage' , 'gpt3-ada' , 'palm' ]
gpt2 = grazier . get ( "gpt2" )
completion = gpt2 ( "I enjoy walking with my cute dog, but sometimes he gets scared and" )
print ( completion )
チャット エンジンの場合は、 type="chat"
パラメータを追加するだけです。
from grazier import Conversation , Speaker , get , list_models
conversation = Conversation ()
conversation . add_turn ( "You are a funny person." , speaker = Speaker . SYSTEM )
conversation . add_turn ( "Hi, how are you?" , speaker = Speaker . USER )
conversation . add_turn ( "I am doing well, how about you?" , speaker = Speaker . AI )
conversation . add_turn ( "What are you planning to do today?" , speaker = Speaker . USER )
list_models ( type = "chat" )
[ 'claude' , 'claude-100k' , 'claude-instant' , 'claude-instant-100k' , 'bard' , 'koala-7b' , 'koala-13b-v1' , 'koala-13b-v2' , 'vicuna-7b' , 'vicuna-13b' , 'alpaca-13b' , 'chat-gpt' , 'gpt4' , 'gpt4-32k' , 'stablelm-3b' , 'stablelm-7b' , 'palm' ]
gpt4 = get ( "gpt4" , type = "chat" )
next_turn = gpt4 ( conversation )
print ( next_turn )
視覚拡張 (画像) エンジンの場合は、 type="image"
を使用します。
import grazier
from PIL import Image
grazier . list_models ( type = "image" )
[ 'blip2-opt-2.7b' , 'blip2-opt-6.7b' , 'blip2-opt-2.7b-coco' , 'blip2-opt-6.7b-coco' , 'blip2-flan-t5-xl' , 'blip2-flan-t5-xxl' , 'blip2-flan-t5-xl-coco' , 'openflamingo-3b-vitl-mpt1b' , 'openflamingo-3b-vitl-mpt1b-dolly' , 'openflamingo-9b-vitl-mpt7b' , 'openflamingo-4b-vitl-rpj3b' ]
blip2 = grazier . get ( "blip2-opt-2.7b" , type = "image" )
image = Image . open ( 'test_data/dog.jpg' )
completion = blip2 ( image , "A photo of" )
print ( completion )
各エンジンでは、特定の詳細を渡す必要がある場合があります。たとえば、OpenAI エンジンには API キーが必要です。これらの詳細は通常、環境変数を使用して設定されます。
OpenAI エンジンの場合は、 OPENAI_API_KEY
およびOPENAI_API_ORG
環境変数を設定する必要があります。 API キーと組織 ID は OpenAI ダッシュボードで確認できます。これらの環境変数は、シェルまたはプロジェクトのルートにある.env
ファイルで設定できます。たとえば、 .env
ファイルには次のようになります。
OPENAI_API_KEY= < your key >
OPENAI_API_ORG= < your org id >
またはコマンドラインで次のようにします。
export OPENAI_API_KEY= < your key >
export OPENAI_API_ORG= < your org id >
Anthropic エンジンの場合は、 ANTHROPIC_API_KEY
環境変数を設定する必要があります。 API キーは Anthropic ダッシュボードで見つけることができます。この環境変数は、シェルまたはプロジェクトのルートにある.env
ファイルで設定できます。たとえば、 .env
ファイルには次のようになります。
ANTHROPIC_API_KEY= < your key >
またはコマンドラインで次のようにします。
export ANTHROPIC_API_KEY= < your key >
Google エンジンの場合、Vertex クラウド API を使用します。これには、Google Cloud Platform (GCP) プロジェクトが必要です。 GCP プロジェクトは GCP コンソールで作成できます。また、プロジェクトの Vertex AI API を有効にし、サービス アカウントを設定し、アカウントの JSON 認証情報をダウンロードする必要があります。その手順については、チュートリアルのステップ 1 ~ 6 を参照してください。最後に、 GOOGLE_APPLICATION_CREDENTIALS
環境変数を JSON ファイルのパスに設定する必要があります。この環境変数は、シェルまたはプロジェクトのルートにある.env
ファイルで設定できます。たとえば、 .env
ファイルには次のようになります。
GOOGLE_APPLICATION_CREDENTIALS= < path to your JSON file >
またはコマンドラインで次のようにします。
export GOOGLE_APPLICATION_CREDENTIALS= < path to your JSON file >
Bard エンジンの場合は、Bard __Secure-1PSID トークンと __Secure-1PSIDTS トークンを取得する必要があります。この変数の値を取得するには、まず https://bard.google.com/ にアクセスしてログインし、F12 キーを押してコンソールに移動し、[アプリケーション] タブ、[Cookie] の順に移動して、 「__Secure-1PSID」および「__Secure-1PSIDTS」クッキー。次に、環境変数を設定できます。
BARD__Secure_1PSID= < your session id >
BARD__Secure_1PSIDTS= < your session id timestamp >
ハグフェイス エンジンのほとんどは追加のセットアップを必要としませんが、一部の大型モデルでは、あらゆる効率で実行するために GPU が必要です (また、一部のモデルでは大量のメモリを搭載した複数の GPU が必要です)。各モデルの要件の詳細については、Huggingface モデル ハブで確認できます。
これらのエンジンの場合は、重みを自分で取得して後処理する必要があります (Facebook のライセンスのため)。その手順については、各モデルのページで確認できます。
重みがダウンロードされて処理されたら、各バリアントのフォルダーを含むルート ディレクトリに次の環境変数を設定できます (形式は{root_dir}/{model-prefix}/weights.bin
です。ルート ディレクトリは次のようになります) root_dir
、model-prefix はモデルの名前です (例: tulu-65b
):
LLAMA_WEIGHTS_ROOT= < path to the llama weights >
ALPACA_WEIGHTS_ROOT= < path to the alpaca weights >
KOALA_WEIGHTS_ROOT= < path to the koala weights >
VICUNA_WEIGHTS_ROOT= < path to the vicuna weights >
ALLENAI_WEIGHTS_ROOT= < path to the allenai weights >
AI21 モデルの場合、 AI21_API_KEY
環境変数を設定する必要があります。 API キーは AI21 Studio ダッシュボードで確認できます。この環境変数は、シェルまたはプロジェクトのルートにある.env
ファイルで設定できます。たとえば、 .env
ファイルには次のようになります。
AI21_API_KEY= < your key >
またはコマンドラインで次のようにします。
export AI21_API_KEY= < your key >
仕事で Grazier を使用する場合は、以下を引用してください。
@misc{grazier,
author = {David Chan},
title = {grazier: Easily call Large Language Models from a unified API},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{
https://github.com/DavidMChan/grazier
}}
}
grazier は、MIT ライセンスの条項に基づいてライセンスされています。詳細については、「ライセンス」を参照してください。