文章から色を教えてくれるOpenAI「Mood to color」を試してみた- 日本一詳しいOpenAI入門

Microsoft Ignite 2021の基調講演で発表された「Azure OpenAI Service」。公式ページにある通り OpenAI でOpenAI APIを発行してもらったのでExpamplesにある49個のアプリから「Mood to color」をPythonから実行して試行錯誤します。

OpenAIのExpamplesにあるMood to colorとは

公式の説明では「Turn a text description into a color.」とあり、“テキストの説明を色に変える。”となります。情景などの文章からWebで使われているカラーコードに変換してくれます。

公式のタグでは「Transformation」「Generation」の2つが付与されています。

プログラムを見るとエンジンは「davinci」となっています。

サンプルコードでは1行目に「The CSS code for a color like a **:(**を表現するCSSカラーコードです。)」となっており、そのあとに続くテキストからカラーコードを返すことが説明されています。

早速使ってみた

公式にあるコードを参考に、好きな文章を入れられるように str という変数に会話を入れて実行できるようにします。

1Python Code 
2
3‘’’ 
4
5import os 
6
7import openai 
8
9 
10
11openai.api_key = os.getenv("OPENAI_API_KEY") 
12
13str = """The CSS code for a color like a blue sky at dusk: 
14
15 
16
17background-color: #""" 
18
19 
20
21response = openai.Completion.create( 
22
23  engine="davinci", 
24
25  prompt=str, 
26
27  temperature=0, 
28
29  max_tokens=64, 
30
31  top_p=1.0, 
32
33  frequency_penalty=0.0, 
34
35  presence_penalty=0.0, 
36
37  stop=[";"] 
38
39) 
40
41 
42
43print(response["choices"][0]["text"]) 
44
45‘’’

いろいろな状況に合わせた色を教えてくれる。

サンプルでは「夕闇の青空(a blue sky at dusk)」のカラーコードを聞いています。

実行すると「#6b8ecc」と返ってきました。

他にも

  • 燃え盛る太陽 →#FF8C00(鮮やかなオレンジ)
  • 燃え盛る太陽から2光年離れた場所 →#FFFFFF(白)
  • 夕食がすき焼きだと喜んだら、玉子にあたった →#F9F9F9(白に限りなく近いグレー)

のように、いろいろな文章から色を導いてくれます。

色の説明ではない内容に対しても、その感情や状況に合った色を教えてくれるのが面白いですね。

どんなときに使えるのか?

Webサイトなどを作るときに、どんな色にしようかなと考えるステップで文章から色を教えてくれるので、その色をベースにカラースケールなどを使って配色を考えるなんてことができそうですね。Webカラーは全部で40憶通り以上あるので、人間が考えるよりOpenAIに聞く方が良いですね。

また感情から色を教えてくれるので、「今日はブルーだな」というときに感情を正しく伝えることで、「今日はsteelblueだね」「昨日はシアンよりのブルーだね」といった具合に曖昧だった色を正しく教えてくれます。

この記事を書いた人

azure-recipe-user