0
0

第3回 StreamlitとLangChainとLM studioを使って自分専用LLMウェブアプリを作りたい!

Posted at

第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の部分にのみ反映される。
これによって、定型的な部分は毎回ユーザーが入力することなく、実装できる。

スクリーンショット 2023-12-31 18.29.40.png

次回の予定

このままStreamlitの記事をLocalLLMで実装していきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0