Streamlit in Snowflake であのMCにお越しいただいた
はじめに
これは ちゅらデータ Advent Calender 2024 21日目の記事です。
ちゅらデータの親会社にあたる DATUM STUDIO に所属するゆかいな仲間たちの一員として、一枠書かせていただきます。
やったこと
Streamlit in Snowflake で、Diggy-MO' さんとお話しできるようにしました。
ナニコレ
とりあえず、この記事を読まれている方は SOUL'd OUT を知っている前提で話を進めますね。わかってんだろ?ペイス
世に出るのが10年早かったグループ、何なら解散から10年たったけどまだ時代が追い付いていないグループ、それが SOUL'd OUT。
定期的に謎のブームが訪れるこのグループ。例えば今年はエビを揉んだりしていました。
そんな SOUL'd OUT のメインMC・Diggy-MO' が、映画「モアナと伝説の海2」日本語訳詞を担当されているそうじゃないですか!
しかも鑑賞された方々の噂を聞くと、しっかりア アラララァ ア アァ!してるらしいじゃないですか。
というわけで、Cortex AI でシャベレ!してみたのでした。
解説
(コードを)書け 書くなら 書くとき 書こう!
コードはこちら。よくあるプロンプトです。一部は省略しています。
main.py
import base64
import re
import streamlit as st
from snowflake.snowpark.context import get_active_session
from snowflake.cortex import Complete, Translate
# Get the current credentials
session = get_active_session()
# https://www.sonymusic.co.jp/adm_image/common/artist_image/70005000/70005389/jacket_image/170970__800_800_0.jpg
diggy_img = base64.b64decode('<上の画像をencodeした文字列>')
diggy_prompt = """
- SOUL'd OUT は、2MC+トラックマスターからなる日本のヒップホップグループ。
- SOUL'd OUT のメンバーは、Diggy-MO'(メインMC)、Bro.Hi(ヒューマンビートボックス/MC)、Shinnosuke(Trackmaster, Keyboard)。
- SOUL'd OUT は2014年に解散。
- Diggy-MO' の好きな食べ物はチョコレートパフェ。
- <SOUL'd OUT と Diggy-MO' についての情報を記載しています>
- Diggy-MO' のリリック:
- <数曲分の歌詞を記載しています>
あなたはSOUL'd OUTのDiggy-MO'です。日本語で質問に答えてください。
Diggy-MO'のリリックをもとに回答を作成してください。
ときどき、次の箇条書きに挙げる語を使用してください:
- ア アラララァ ア アァ!
- アラララララララァ!
- アッオゥ
- ア〜ラア〜ラアラ
- わかってんだろ、ペィス
- Oh, Christopher Colombus!
- NAH ウェカピポ YO!
- 塩が足んねぇよ
- <...その他、鳴き声を記載>
では、Diggy-MO'さん、質問に答えてください。
question: {question}
"""
st.title("🎤Diggy-MO'🧢 になんでも聞いてみるスレ🎤")
# State 初期化
if "messages" not in st.session_state:
st.session_state["messages"] = []
# チャット履歴表示
for msg in st.session_state.messages:
with st.chat_message(
msg["role"],
avatar=msg.get("avatar")):
st.markdown(msg["content"])
# チャット入力を受け付け、CORTEX.COMPLETE に投げる
if request := st.chat_input("日本語で質問してください"):
st.session_state.messages.append(
{
"role": "user",
"content": request
}
)
st.chat_message("user").write(request)
response = Complete(
'mistral-large2',
diggy_prompt.format(question=request)
)
st.session_state.messages.append(
{
"role": "Diggy-MO'",
"content": response,
"avatar": diggy_img
}
)
st.chat_message(
"Diggy-MO'",
avatar=diggy_img
).write(response)
さあ、何でも聞いてみよう
さて、Streamlit in Snowflake に Diggy-MO' を召喚することに成功しました。さっそく何でも聞いてみましょう。
一般的な質問
よくある質問として、カレーの作り方を聞いてみます。
アッオゥ って感じ...アッオゥ って感じね、S.O Cru ならわかってんだろ?ペイス ですね。
プログラミング
プログラムで間違っている箇所を見つけてもらいます。お題はこちらの記事を参考にしています。
Python 言語プロセッサーな Diggy-MO' が来てくれたみたいですね。
ビジネス
わかりやすい議事録の書き方を教えてもらいました。
2023年に3人が集まってMTGしてると思うと、こう熱いものが...
おわりに
Streamlit in Snowflake で Diggy Diggy Diggy Diggy するにあたり、こちらの記事を参考にしています。50音揃っちゃうのがすごいところ。
このネタ記事が S.O Cru に届けば満足 満足 満足です。
Discussion