第3回
テンプレートの実装
前回、ユーザーからの入力内容について、返答を行うLLMwebアプリを作成した。
参考URL:https://blog.streamlit.io/langchain-tutorial-2-build-a-blog-outline-generator-app-in-25-lines-of-code/
プログラムの変更点はOpenAI APIではなくLocalLLMに繋いでいる点。
今回は”テンプレート”を用いてみたい。
これはテンプレートによって質問内容の大筋を決めてしまえる。
今回は使用したプログラムをいかに示す
main.py
import streamlit as st
from langchain.llms import OpenAI
from langchain import PromptTemplate
st.set_page_config(page_title="🦜🔗Blog Outline Generator APP")
st.title("🦜🔗Blog Outline Generator APP")
def generate_response(topic):
llm = OpenAI(base_url="http://localhost:1234/v1", api_key="not-needed")
# Prompt
template = '経験豊富なデータサイエンティストとして、またテクニカルライターとして、次のようなブログのアウトラインを作成してください。 {topic}.'
prompt = PromptTemplate(input_variables=['topic'], template=template)
prompt_query = prompt.format(topic=topic)
# Run LLM model and print out response
response = llm(prompt_query)
return st.info(response)
with st.form('myform'):
topic_text = st.text_input('Enter keyword:', '')
submitted = st.form_submit_button('Submit')
generate_response(topic_text)
プログラムとテンプレートの役割について
ここではtemplateを設定することで大まかな回答の方向を固定した。ユーザーからの入力はTopicの部分にのみ反映される。
これによって、定型的な部分は毎回ユーザーが入力することなく、実装できる。
次回の予定
このままStreamlitの記事をLocalLLMで実装していきます。