AWS Strands AgentsでUpstageのSolar Pro 2を動かしてみた

に公開

はじめに

Fusicのレオナです。今回はUpstageのLLM、Solar Pro 2。なお、弊社は生成AI分野における包括的な協業を目指し、Upstageと業務提携を結んでおります。詳細はこちらからご覧ください。

Solar Pro 2とは

Upstageが2025年7月に公開した31BパラメータのLLMで、複雑な推論とツール連携による実務タスクの自動化を現実的な運用コストで回すことを狙いに設計されたモデルです。前モデルのSolar Proに比べ多言語対応も強化され、特に韓国語では大型モデルと競合する水準を公式が示しており、日本語・英語のベンチマークでも安定した結果を出しています。

参照 : https://www.upstage.ai/news/solar-pro-2

Strands Agentsとは

Strands Agentsは、AWSが2025年5月に公開したオープンソースのAIエージェント構築SDKで、2025年7月にバージョン1.0がリリースされました。数行のPythonコードでAIエージェントを作成できるモデル駆動型のフレームワークです。

ベータ版のStrands Agentsについて執筆した以下のブログも参考にしてください。
https://zenn.dev/fusic/articles/8dd670c37a8d68

Upstage APIキーを取得する

  1. こちらからアカウントを作成する
  2. DashboardのAPI keysからAPIキーを作成・取得する

実装

最小限のサンプルコードです。Solar Pro 2はOpenAIのAPI互換性があるのでStands AgentsのOpenAIModelでBase URLとSolar Pro 2を定義しています。Toolsを指定しないと動かないため、ダミーのToolsを指定する必要がありました。以下の環境になります。

strands-agents                           1.9.1
strands-agents-builder                   0.1.1
strands-agents-tools                     0.2.8
  1. 依存パッケージのインストール: pip install -r requirements.txt
  2. .envの用意:以下の形式でAPIキーとBase URLを記載する。
.env
UPSTAGE_API_KEY=あなたのAPIキー
UPSTAGE_BASE_URL=https://api.upstage.ai/v1/solar
UPSTAGE_MODEL_ID=solar-pro2
requirements.txt
strands-agents[openai]
strands-agents-tools
python-dotenv
main.py
import os
from dotenv import load_dotenv
from strands import Agent
from strands.models.openai import OpenAIModel
from strands.tools import tool

load_dotenv()
api_key  = os.environ["UPSTAGE_API_KEY"]
base_url = os.getenv("UPSTAGE_BASE_URL")
model_id = os.getenv("UPSTAGE_MODEL_ID")

model = OpenAIModel(
    client_args={"api_key": api_key, "base_url": base_url},
    model_id=model_id,
    params={"temperature": 0.1, "max_tokens": 800},
)

@tool
def _unused_tool():    # 使用されないツール
    pass

agent = Agent(model=model, tools=[_unused_tool], callback_handler=None)

if __name__ == "__main__":
    print(agent("クッキーの作り方を教えて", tool_choice="none"))

実行結果

Terminal
クッキーの基本的な作り方をご紹介します。  

### **材料(約12枚分)**  
- 薄力粉 150g  
- バター(常温に戻す) 100g  
- 砂糖 80g  
- 卵 1/2個  
- バニラエッセンス 少々  
- ベーキングパウダー 2g(オプション)  

### **手順**  
1. **下準備**  
   - オーブンを170℃に予熱します。  
   - バターは常温で柔らかくしておきます。  

2. **生地作り**  
   - ボウルにバターと砂糖を入れ、泡立て器で白っぽくなるまで混ぜます。  
   - 卵とバニラエッセンスを加え、さらに混ぜます。  
   - 薄力粉とベーキングパウダー(使用する場合)をふるいながら加え、ゴムベラでさっくり混ぜます。  

3. **成形**  
   - 生地をラップで包み、冷蔵庫で30分ほど休ませます。  
   - 伸ばして型抜きするか、スプーンで丸く成形します。  

4. **焼き上げ**  
   - 天板にクッキングシートを敷き、生地を並べます。  
   - 170℃のオーブンで12~15分焼きます。  
   - 焼き色がついてきたら完成です!  

### **ポイント**  
- バターが冷たすぎると生地がまとまりにくいので、常温に戻すことが大切です。  
- 焼き時間はオーブンによって調整してください。  

レシピに沿って作れば、簡単に美味しいクッキーが作れますよ! 🍪  

(※今回は一般的な知識で回答しました。特定のレシピや材料の詳細が必要な場合は、お知らせください。)

最後に

Strands Agentsは数行のPython コードで簡単にAIエージェントを構築できるフレームワークでOpenAI互換エンドポイントを持つ Solar Pro 2で動かしてみました。ぜひ試してみてください。

Fusic 技術ブログ

Discussion