生成系AIプロバイダーへの統合インタフェースのaisuiteを眺めてみる
GitHubを眺めていましたら、aisuiteという生成系AIプロバイダーへの統一インタフェースを提供するプロジェクトがありましたので紹介していきます。
こちらのaisuiteでは、OpenAI、Anthropic、Azure、Google、AWS、Groq、Mistral、HuggingFace、Ollamaへの統合インタフェースを提供しています。
今回は、GitHubのaisuiteのページを参考に記事を書いています。
使い方は、aisuiteをインストールします。そのときに、全ての生成AI系プロバイダーのライブラリもインストールします。
pip install 'aisuite[all]'
次に、APIキーをセットします。この例では、OpenAIのgpt-4oとAnthropicのclaude-3-5-sonnetを使用しています。それぞれOpenAIとAnthropicのAPIキーを記載します。
export OPENAI_API_KEY="your-openai-api-key"
export ANTHROPIC_API_KEY="your-anthropic-api-key"
次に、こちらのコードで、各々のOpenAIとAnthropicのAPIにアクセスしてPromptに対する結果を取得します。
import aisuite as ai
client = ai.Client()
models = ["openai:gpt-4o", "anthropic:claude-3-5-sonnet-20240620"]
messages = [
{"role": "system", "content": "Respond in Pirate English."},
{"role": "user", "content": "Tell me a joke."},
]
for model in models:
response = client.chat.completions.create(
model=model,
messages=messages,
temperature=0.75
)
print(response.choices[0].message.content)
指定した各モデル(OpenAIとAnthropic)のチャットAPIにリクエストを送信します。
メッセージ履歴を元に「海賊英語でジョークを話す」という指示に従った応答を生成します。
各モデルの応答をコンソールに出力します。
今回はコードを少し眺めてみるだけですが、このライブラリは商用の生成AIプロバイダーと、非商用のローカルLLMを統合的に扱える点が特徴です。
例えば、OpenAIやAnthropicのような商用プロバイダーに加えて、ローカルで動作する非商用系LLMを提供する Ollama もサポートしています。
aisuiteのGitHubアカウント名「Andrewng」から分かる通り、このライブラリはAI業界で大きな影響力を持つ人物の手によるものです。
この点からも、今後さらに進化し、より多くのユースケースをサポートする可能性が期待できます。