高速AIチップで話題のGroqのAPIをStreamlitで使う方法
Groq社の紹介
Groqとは、高速なLPU(Language Processing Unit)を開発しているアメリカ系のベンチャー企業です。株式は公開されていませんが、Meta社のLlama3リリースタイミングで、Llama3を取り込んだGroqChatにより、高速な言語処理能力を見せつけて、Twitterやテック系記事で取り上げられています。
Groqの紹介記事やGroqChat、GroqのAPIキーの取得方法について、以前記事を書いたので興味があるなら参考にしてみてください。
GroqのAPIのStreamlitのコード紹介
今回は、GroqのAPIを利用したStreamlitのコードを紹介します。OpenAIとコード表記が似ている部分が多いので、OpenAIのAPIキーを利用したことのある人なら馴染みやすいです。
今回の成果物イメージです。
最初に、自PC環境で、以下のモジュールを取り込みます。
pip install streamlit groq
次に、app.pyとして、次のコードを準備します。gsk-xxxxxの部分には、Groqで取得したAPIキーを記載してください。GroqにおけるAPIキーの取得方法がわからない方は、下記記事を参考にしてください。
import streamlit as st
import os
from groq import Groq
# 環境変数から API キーを取得
api_key = "gsk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
if not api_key:
st.error("APIキーが設定されていません。")
st.stop()
# Groq クライアントの初期化
client = Groq(api_key=api_key)
def get_response(question):
""" Groq API を使用してチャット応答を取得する関数 """
chat_completion = client.chat.completions.create(
messages=[
{"role": "user", "content": question}
],
model="llama3-70b-8192",
)
return chat_completion.choices[0].message.content
# Streamlit UI
st.title('Groq API デモ')
# ユーザー入力
user_input = st.text_input("質問を入力してください:")
if st.button('回答を取得'):
with st.spinner('回答を取得中...'):
response = get_response(user_input)
st.write(response)
Groq APIには、いくつかの言語モデルが用意されていますが、今回は、llama3-70b-8192を利用します。次に、自PCで以下を実行すればStreamlitにおける初期画面が出てきます。
streamlit run app.py
質問を入力してくださいの下に、何か入力して、回答を取得をクリックしますと次のように表示されます。
この記事が気に入ったらサポートをしてみませんか?