LangChain触っていくぞメモ
以前触って面白かったので、改めて環境を作ってちゃんと触る
Notebookではなく実行環境作る
Poetry ポエットリー
パッケージ管理と仮装環境に関するツール
最近よく使われてるらしい(2023/8/13)
bundlerっぽい
pyproject.toml に必要なライブラリ入れる
asdfでpython入れるところから
pythonは環境構築が難しいらしい
.tool-versionsを設定して、asdf installでできた
改行コードがLFである必要がある
M1だと落ちることもあるから、ダメだったら他の手段で入れよう
大丈夫だった
無事環境できた。poetry...
ChatGPTとLLMでchatbot作る
Modelsとか知見深めるぞ〜🚀🚀🚀
Gradio
Gradioは、Pythonの機械学習モデルをWeb UIに簡単に変換するライブラリです。
ほー
Streamlit
データ分析用のダッシュボードを作れる
Gradioのハロワ
エラー対応
poetry add pydantic@1.10.7
入力と出力の処理を書いて、その間の関数を入れるだけ
code: python
import random
import time
import gradio as gr
with gr.Blocks() as demo:
chatbot = gr.Chatbot()
msg = gr.Textbox()
clear = gr.Button("Clear")
def respond(message, chat_history):
chat_history.append((message, bot_message))
time.sleep(1)
return "", chat_history
# 送信時のイベントを登録している
clear.click(lambda: None, None, chatbot, queue=False)
demo.launch()
https://scrapbox.io/files/64d8dbd596acea001b9076e2.png
すごい
code: python
from dotenv import load_dotenv
import gradio as gr
from chatbot_engine import chat
def respond(message, chat_history):
bot_message = chat(message)
chat_history.append((message, bot_message))
return "", chat_history
with gr.Blocks() as demo:
chatbot = gr.Chatbot()
msg = gr.Textbox()
clear = gr.Button("Clear")
clear.click(lambda: None, None, chatbot, queue=False)
if __name__ == "__main__":
load_dotenv()
demo.launch()
chatbot_engine.py
code: python
from langchain.chat_models import ChatOpenAI
import langchain
langchain.verbose = True
def chat(message: str) -> str:
llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)
return llm.predict(message)
https://scrapbox.io/files/64d8df8beae13b001b5c2334.png
便利
次は履歴を持たせるところから。
これを起点にlangchain使って色々実装してみよう。
code: plaintext
[]
'message1', 'I’m sorry, but I need more information or context to understand what you mean by “message1.” Can you please provide more details?'
チャット履歴が勝手に入ってる。ありがたい。