Streamlitã§èªåçšChatGPTãäœã
èªåçšChatGPTã®ãããªãã®ãäœããããšæããŸãããUIã®å®è£ ã¯ãStreamlitã䜿ããšæ¥œã§ãããã§ãã
ã§ãããã®
ãšããã§ããã§ããããªæãã®ãã®ããµã¯ããšäœããŸããïŒæ°ããçºèšãäžã«è¡šç€ºããã仿§ã§ãïŒãUIã«ã¯åè¿°ã®éãStreamlitããããžãã¯éšåã«ã¯LangChainã䜿ã£ãŠããŸãã

ãããªããšãã§ããŸãã
- ç ç©¶ã¢ã·ã¹ã¿ã³ããšããŠæ¯ãèã
- ãã£ãã颚ã®UIã§äŒè©±ã§ãã
- äŒè©±å±¥æŽã«åºã¥ããŠäŒè©±ã§ãã
ä»ã®ãšããã¯ãChatGPTã®Webçã䜿ãã®ãšãããªã«å€ãããŸããããœãŒã¹ã³ãŒãã¯ã以äžã®ãªããžããªã«çœ®ããŠãããŸãã
éçºããäžã§ããã£ãããš
ãã£ããã®ããžãã¯éšåã«é¢ããŠã¯ããLangChain ã® ãã£ããã¢ãã« (ChatGPTã®æ°ããæœè±¡å) ã詊ãïœnpakaããªã©ãåèã«ããã°ãç°¡åã«å®è£ ã§ããã§ãããã
äŒè©±å±¥æŽåºã¥ããŠçºèšã§ããããã«ããããã«ã¯ãLangChainã®Memoryæ©èœãçšããã®ã§ããããã®å®è£ ã«å°ãããããŸããããã©ãŒã ãsubmitãããšãäŒè©±å±¥æŽãå¿ããŠããŸãã®ã§ãïŒåæåãããŠããŸãïŒã
ããã§ãst.cache_resourceã䜿ã£ãŠäŒè©±ãåžããã§ãŒã³ãäžžããšãã£ãã·ã¥ããããšã§ã以åã®å±¥æŽãåŒãç¶ããããã«ããŸããã@st.cache_resourceãšããŠãã¢ããªãã¥ãŒããã€ããŠãããã ãã§OKã§ãã
@st.cache_resource
def load_conversation():
llm = ChatOpenAI(
streaming=True,
callback_manager=CallbackManager([
StreamlitCallbackHandler(),
StreamingStdOutCallbackHandler()
]),
verbose=True,
temperature=0,
max_tokens=1024
)
memory = ConversationBufferMemory(return_messages=True)
conversation = ConversationChain(
memory=memory,
prompt=prompt,
llm=llm
)
return conversation
Streamlitã«ããããã£ãã·ã¥ã®ä»çµã¿ã®è©³çްã«ã€ããŠã¯Caching - Streamlit Docsãã芧ãã ããã
解決ããããã©ã§ããŠãªãããš
çŸç¶ã®å®è£ ã§ã¯ãLangChainã®åŠçãçµãããŸã§UIäžã«ã¯çµæã衚瀺ãããŸãããChatGPTã®Web UIã®ããã«ãããŒã¯ã³ãè¿ããããã³ã«è¡šç€ºããããšããã§ããå®éã«ã¯ãã¹ããªãŒã ã§ããŒã¿ãåãåã£ãŠã¯ããŠãæšæºåºåã«ã¯éæåºåãããŸãïŒå®è¡ããŠã¿ãŠãã ããïŒã
LangChainã«ã¯langchain/langchain/callbacks
/streamlit.pyãšãããã®ããã£ãŠãããŒã¯ã³ãåºåããããã³ã«è¡šç€ºããããšãã§ããããªã®ã§ãããåããããšãã§ããŸããã§ãããã©ãªãããåãããŠã¿ãŠã»ãããšæããŸãã
ãããã«
åè¿°ã®éãããããŸã§ã®å®è£ ã§ã¯ãChatGPTã䜿ãã°ãããããããšããæãã§ããäžæ¹ã§ãããããã«ã¹ã¿ãã€ãºãããæ å ±ããããã远å ããããã§ããã®ã§ãèªåçšã«äœãæçŸ©ã¯ååããããã«æããŸãã
- ããã³ããããããããšã§ãæåãã奜ã¿ã®ãã£ã©ã¯ã¿ãæã€AIãäœã蟌ãã
- LangChainã䜿ã£ãŠããã®ã§ãæ§ã ãªå€éšæ å ±ãçµã¿èŸŒãã
- ChatGPTã®ææçããAPIã³ãŒã«ã®æ¹ããã£ãšå®ã
UIãäœãã®ãé¢åã ã£ãã®ã§ãä»åã¯Streamlitã䜿ã£ãŠã¿ãŸãããããããã€ã³ããæ¹åãããç¹ããã£ãã®ã§ãéäžçµéã玹ä»ããŸããã
Discussion
ãã¡ãã«ã€ããŠè³ªåãªã®ã§ãããStreamlit ã®ããã¥ã¡ã³ã ã«
ãšãããload_conversation() ã®è¿ãå€ã®ãªããžã§ã¯ãïŒâ äŒè©±å±¥æŽïŒã¯å šãŠãŒã¶ãŒã«å ±æããæŽæ°ãããŠããŸãã®ã§é©åã«åäœããªããšæãããŸãããåé¡ãªãã®ã§ããããïŒ
èªåçšã§äœ¿ãåã«ã¯åé¡ãªãããã§ãããè€æ°äººã§äœ¿ãå Žåã¯ãã£ãããéãã®åé¡ããããšæããŸãããã®ç¹ã«ã€ããŠã以äžã®ãšã³ããªã§å ¬éããŠããããŒãžã§ã³ã§ã¯æ¹åããŠãããŸãã®ã§ããã¡ãããåèãã ãããŸãã
ãã£ãã圢åŒã§ API çã® GPT-4 ãå©çšã§ããããŒã«ãå ¬éããŸãã - Pepabo Tech Portal