• TOP
  • DataStax
  • 今日はGemini Pro APIの日!Vertex AI がAstra Assistants API をサポート
今日はGemini Pro APIの日!Vertex AI がAstra Assistants API をサポート
2024.03.29 DataStax翻訳記事

本記事は DataStax Blog の記事を翻訳し転載しています

Sebastian Estevez

概要

OpenAIのAssistants APIとAPI互換のあるAstra Assistants APIサービスが、Googleの新しいGemini Proモデルに対応するようになりました。Astra Assistants API Vertex AIのサンプルコードをお探しの方、こちらにありますよ!

今日はGemini Pro APIの日!

先週、GoogleがGemini モデルをローンチしました。でも実は開発者にとっては、今日が本番。なぜかというと、Google が Gemini Proを API経由で(Vertex AIの一部として)利用できるようにし、ユーザがこのパワフルなツールとインフラを使ってビルドを開始できるようなったからです。

GoogleがGeminiを発表したあとすぐに、「Vertex AIをAstra Assistants APIに追加する必要がある!」と考えました。Astra Assistants APIは、OpenAIが最近導入したAssistants APIとAPI互換性のあるサービスです。(Astra Assistants APIを始める方は、こちらの記事をお役立てください)

現在、Astra Assistants APIはOpenAIに加え、CohereAWS Bedrock、Perplexity、Anthropic ClaudeLlamaMistrallなど、多くのLLMやプロバイダーをサポートしています。ところが、Google CloudがAPIキーによるログインを禁じていたため、GoogleのVertex AIのサポートによりできずにいました。アプリケーション資格情報ファイルが求められるため、インテグレーションが難しくなってしまうのです。

そこで、この問題に対応するため、Assistant APIの既存のファイル保存機能を活用し、新しい認証目的を追加するクリエイティブな解決策を考え出しました:

file = client.files.create(
file=open(
GOOGLE_JSON_PATH,
"rb",
),
purpose="auth",
)

注:ファイルは一度だけアップロードすること。コンテンツはAstraデータベースに平文で保存されるので、データベースを適切に保護し、Astra API キーを安全に保管すること。

ファイルをアップロードすると、ユーザは OpenAI クライアントを作成するときに、以下のように google-application-credentials-file-id HTTP ヘッダーの ID で参照できるようになります:

client = OpenAI(
base_url=base_url,
api_key=OPENAI_API_KEY,
default_headers={
"astra-api-token": ASTRA_DB_TOKEN,
"embedding-model": "textembedding-gecko@002",
"vertexai-project": GOOGLE_PROJECT_ID,
"google-application-credentials-file-id": file.id
}
)

注:Vertex AIを使用するには、プロジェクトIDを含むvertexai-projectヘッダーも渡す必要があります。また、他のLLMプロバイダーと同様に、ファイル検索 / RAG用のembedding-modelも渡す必要があります。

このときに、BisonやGemini ProのようなVertex AIモデルを使用して補完を実行することができます。



model="chat-bison"




prompt = "Draw an ASCII art kitten eating icecream"
response = client.chat.completions.create(
    model=model,
    messages=[
        {"role": "system", "content": "You are an amazing ascii art generator
 bot, no text just art."},
        {"role": "user", "content": prompt}
    ]
)


print(f'prompt> {prompt}')
print(f'artist-{model}>\n{response.choices[0].message.content}')

Astra DB ベクトル検索の詳細について知りたい方、またGemini ProとAstra DBを使ったビルドを始めるには、astra-assistant GitHub リポジトリのサンプルをご参照ください。

原文:It’s Gemini Pro API Day, So the Astra Assistants API Is Getting Vertex AI Support!

関連記事