本記事は 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に加え、Cohere、AWS Bedrock、Perplexity、Anthropic Claude、 Llama、Mistrallなど、多くの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!
関連記事
- 2024.04.11DataStax翻訳記事なんでも聞けるテイラー・スウィフト チャットボット! Astra DB Vector Database で作っちゃいました
- 2023.09.29DataStaxプレスリリースDataStax、Google CloudのVertex AI Platform向けAstra DB Vertex Extensionを発表、Astra DBからVertex AIへ簡単に直接データ接続が可能に
- 2023.09.24DataStax翻訳記事Google Cloudで高まるベクトル検索の導入機運
- 2024.01.13DataStaxプレスリリース翻訳記事DataStaxが「SwiftieGPT」を発表:グラミー賞歌姫 テイラー・スウィフト のスーパーファン チャットボットに生成AIを搭載