無料で始めるAIチャットボット:StreamlitとOllama Pythonライブラリで簡単構築
今回は、StreamlitとOllama Pythonライブラリを使用して、ローカルLLMを動かしてみます。
ChatGPT風の画面みたく、ユーザがPromptを入力して、クリックしたら、Ollama PythonライブラリでローカルLLMを操作して出力を得るコードとなります。
今回は、手順に従って行けば、誰で出来るようにしてあります。
最初に、OllamaとStreamlitライブラリをインストールします。
pip install ollama streamlit
次に、app.pyとして次のファイルを作成を作成します。
import streamlit as st
import ollama
# Streamlitアプリケーションのタイトル
st.title('Ollama Chatbot')
# ユーザの入力を受け取るテキストボックス
user_input = st.text_input('Enter your message:')
# ボタンがクリックされたときの処理
if st.button('Submit'):
if user_input:
# Ollamaのチャットを実行
stream = ollama.chat(
model='llama3',
messages=[{'role': 'user', 'content': user_input}],
stream=True,
)
# チャットのレスポンスを表示
response_buffer = ""
for chunk in stream:
response_buffer += chunk['message']['content']
# 適度に改行を入れて表示する
if len(response_buffer) > 100: # 100文字ごとに表示
st.write(response_buffer)
response_buffer = ""
# 残りのバッファを表示
if response_buffer:
st.write(response_buffer)
else:
st.write('Please enter a message.')
実行します。
streamlit run app.py
http://localhost:8501を開くと、初期画面が表れます。
今回は、プロンプトに「今日は休日ですが、外は暑いので、外出しようか迷っています。どうしたら良いか?日本語で回答してください。」と聞いてみます。
今回は、ローカルLLMにはllama3を使用しています。
他にもOllamaは様々なローカルLLMが使えますので、コード内のmodelのところの記載のllama3を変更すれば可能です。
Ollamaで使用可能なモデルは、Ollamaのページに記載されていますので参考にしてみてください。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?