ホームページ >バックエンド開発 >Python チュートリアル >AISuite: 複数の LLM プロバイダーにわたる GenAI 統合の簡素化

AISuite: 複数の LLM プロバイダーにわたる GenAI 統合の簡素化

Susan Sarandon
Susan Sarandonオリジナル
2024-12-18 07:26:181015ブラウズ

生成 AI (Gen AI) は、創造性、問題解決、自動化の可能性を秘めて業界を再構築しています。ただし、開発者は、API と構成が断片化されているため、さまざまなプロバイダーの大規模言語モデル (LLM) を統合するときに、多くの場合、重大な課題に直面します。この相互運用性の欠如により、ワークフローが複雑になり、開発スケジュールが延長され、効果的な Gen AI アプリケーションの作成が妨げられます。

これに対処するために、Andrew Ng のチームは、OpenAI、Anthropic、Ollama などのプロバイダー間での LLM の統合を効率化するオープンソース Python ライブラリである AISuite を導入しました。 AISuite を使用すると、開発者は単純な「provider:model」文字列 (openai:gpt-4o や anthropic:claude-3-5 など) でモデルを切り替えることができるため、大規模なコードの書き換えが不要になります。 AISuite は、統一されたインターフェイスを提供することで、複雑さを大幅に軽減し、開発を加速し、多用途の Gen AI アプリケーションを構築するための新たな可能性を開きます。

この記事では、AISuite の仕組み、実際のアプリケーション、および多様な LLM と連携する際の課題への対処における AISuite の有効性について探っていきます。

はじめる

目次

  • AISuite とは
  • AISuite が重要な理由
  • AISuite の実験
  • チャット補完の作成
  • クエリ用の汎用関数の作成

AISuiteとは

AISuite は、複数のプロバイダーからの大規模言語モデル (LLM) の統合と管理を簡素化するために、Andrew Ng のチームによって開発されたオープンソースの Python ライブラリです。多様な API、構成、データ形式の操作の複雑さを抽象化し、開発者にワークフローを合理化するための統一フレームワークを提供します。

AISuite の主な特徴:

  • わかりやすいインターフェイス: AISuite は、さまざまな LLM を管理するためのシンプルで一貫したインターフェイスを提供します。開発者は、わずか数行のコードでモデルをアプリケーションに統合できるため、Gen AI プロジェクトへの参入障壁が大幅に下がります。
  • 統合フレームワーク: 複数の API 間の違いを抽象化することで、AISuite はさまざまな種類のリクエストと応答をシームレスに処理します。これにより、開発オーバーヘッドが削減され、プロトタイピングと展開が加速されます。
  • 簡単なモデル切り替え: AISuite を使用すると、コード内の 1 つの文字列を変更するだけでモデル間の切り替えが簡単になります。たとえば、開発者は、アプリケーションの重要な部分を書き換えることなく、openai:gpt-4o や anthropic:claude-3-5 のような「provider:model」の組み合わせを指定できます。
  • 拡張性: AISuite は、進化する Gen AI 環境に適応するように設計されています。開発者は、新しいモデルやプロバイダーが利用可能になったら追加することができ、アプリケーションを最新の AI 機能で常に最新の状態に保つことができます。

AISuite が重要な理由

AISuite は、Gen AI エコシステムにおける重大な問題点、つまり異なるプロバイダーの LLM 間の相互運用性の欠如に対処します。統一されたインターフェイスを提供することにより、開発プロセスが簡素化され、時間とコストが削減されます。この柔軟性により、チームは特定のタスクに最適なモデルを選択してパフォーマンスを最適化できます。

初期のベンチマークとコミュニティからのフィードバックは、マルチモデル アプリケーションの統合時間を短縮し、開発者の効率と生産性を向上させる AISuite の機能を強調しています。 Gen AI エコシステムが成長するにつれて、AISuite は AI を活用したソリューションの実験、構築、拡張の障壁を下げます。

AISuiteの実験

必要な依存関係をインストールして、AISuite の探索を始めましょう。

依存関係のインストール

  • 次のコマンドを実行して仮想環境を作成し、有効化します。
python -m venv venv
source venv/bin/activate #for ubuntu
venv/Scripts/activate #for windows
  • pip を使用して、aisuite、openai、および python-dotenv ライブラリをインストールします。
pip install aisuite[all] openai python-dotenv

AISuite: Simplifying GenAI integration across multiple LLM providers

環境と認証情報のセットアップ

.env という名前のファイルを作成します。このファイルには、OpenAI キーを含む環境変数が保存されます。

  • .env ファイルを開き、次のコードを追加して OpenAI API キーを指定します。
OPENAI_API_KEY=sk-proj-7XyPjkdaG_gDl0_...
GROQ_API_KEY=gsk_8NIgj24k2P0J5RwrwoOBW...
  • API キーを環境変数に追加します。
import os
from dotenv import load_dotenv
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')
os.environ['ANTHROPIC_API_KEY'] = getpass('Enter your ANTHROPIC API key: ')

AISuiteクライアントを初期化する

AISuite クライアントのインスタンスを作成し、複数の LLM との標準化された対話を可能にします。

python -m venv venv
source venv/bin/activate #for ubuntu
venv/Scripts/activate #for windows

モデルのクエリ

ユーザーは次のように AISuite を使用してモデルをクエリできます。

pip install aisuite[all] openai python-dotenv
  • model="openai:gpt-4o": モデルのタイプとバージョンを指定します。
  • messages=messages: 以前に定義したプロンプトをモデルに送信します。
  • 温度=0.75: 応答のランダム性を調整します。値を高くすると創造的な出力が促進され、値を低くするとより決定的な結果が生成されます。
  • response.choices[0].message.content: モデルの応答からテキスト コンテンツを取得します。

チャットコンプリートの作成

OpenAI モデルを使用してチャット完了コードを作成してみましょう。

OPENAI_API_KEY=sk-proj-7XyPjkdaG_gDl0_...
GROQ_API_KEY=gsk_8NIgj24k2P0J5RwrwoOBW...
  • 次のコマンドを使用してアプリを実行します。
import os
from dotenv import load_dotenv
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')
os.environ['ANTHROPIC_API_KEY'] = getpass('Enter your ANTHROPIC API key: ')

次のような出力が得られます。

AISuite: Simplifying GenAI integration across multiple LLM providers

クエリ用の汎用関数の作成

異なるモデルを呼び出すための個別のコードを記述する代わりに、コードの繰り返しを排除して効率を向上させる汎用関数を作成しましょう。

client = ai.Client()
Defining the prompt
The prompt syntax closely resembles OpenAI’s structure, incorporating roles and content.

messages = [
   {"role": "system", "content": "You are a helpful assistant."},
   {"role": "user", "content": "Tell a joke in 1 line."}
]

ask 関数は、AI モデルにクエリを送信するために設計された再利用可能なユーティリティです。次のパラメータを受け入れます:

  • message: ユーザーのクエリまたはプロンプト。 sys_message (オプション): モデルの動作をガイドするシステムレベルの命令。
  • model: 使用する AI モデルを指定します。 この関数は入力パラメーターを処理し、指定されたモデルに送信し、AI の応答を返すため、さまざまなモデルと対話するための多用途ツールになります。

以下は、汎用の ask 関数を使用して OpenAI モデルと対話するための完全なコードです。

# openai model
response = client.chat.completions.create(model="openai:gpt-4o", messages=messages, temperature=0.75)
# ollama model
response = client.chat.completions.create(model="ollama:llama3.1:8b", messages=messages, temperature=0.75)
# anthropic model
response = client.chat.completions.create(model="anthropic:claude-3-5-sonnet-20241022", messages=messages, temperature=0.75)
# groq model
response = client.chat.completions.create(model="groq:llama-3.2-3b-preview", messages=messages, temperature=0.75)
print(response.choices[0].message.content)

コードを実行すると、次の出力が生成されます。

AISuite: Simplifying GenAI integration across multiple LLM providers

複数の API との対話

次のコードを通じて、AISuite を使用して複数のモデルと対話する方法を見てみましょう。

import os
from dotenv import load_dotenv
load_dotenv()
os.environ['OPENAI_API_KEY'] = os.getenv('OPENAI_API_KEY')

import aisuite as ai

client = ai.Client()

provider = "openai"
model_id = "gpt-4o"

messages = [
    {"role": "system", "content": "You are a helpful assistant"},
    {"role": "user", "content": "Provide an overview of the latest trends in AI"},
]

response = client.chat.completions.create(
    model = f"{provider}:{model_id}",
    messages = messages,
)

print(response.choices[0].message.content)

Anthropic や Groq などのプロバイダーとやり取りするときに問題が発生する可能性があります。 AISuite チームがこれらの問題に積極的に対処し、シームレスな統合と機能を確保できることを願っています。

AISuite は、大規模な言語モデルの状況をナビゲートするための強力なツールです。これにより、ユーザーは開発を合理化し、イノベーションを促進しながら、複数の AI プロバイダーの強みを活用できます。 AISuite は、オープンソースの基盤と直感的な設計により、最新の AI アプリケーション開発の基礎として際立っています。

この記事をお読みいただきありがとうございます!!

コンテンツをレビューしてくださった Gowri M Bhatt に感謝します。

この記事が気に入ったら、ハート ボタン ♥ をクリックして共有し、他の人が記事を見つけられるようにしてください。

このチュートリアルの完全なソース コードはここにあります

GitHub - codemaker2015/aisuite-examples : github.com

リソース

GitHub - andrewyng/aisuite: 複数の生成 AI プロバイダーへのシンプルで統合されたインターフェイス: github.com

以上がAISuite: 複数の LLM プロバイダーにわたる GenAI 統合の簡素化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。