VSCodeのPython実行環境で、ブラウザ上からローカルAIを動かす(ケ号01)

 メモ


  1. 概要
    1. VSCode+Python+Ollamaのローカル環境
    2. ブラウザ上で、チャット窓付のインターフェースを構築
    3. ブラウザの多重起動を行うとハングるので、多重起動防止の措置も
  2. Ollamaライブラリをインストール
    1. ターミナルからpipでインストール
      1. pip install ollama
        1. Ollamaコントロール
      2. pip install streamlit
        1. Streamlitはブラウザ用のウィジットライブラリ(HTMLやJavaScriptにエンコードする)
  3. ソース
    import streamlit as st
    import ollama

    st.title("Local AI Chat by Ollama") # ブラウザのタイトル

    # 会話履歴を保存(ブラウザを更新しても消えないようにする)
    if "messages" not in st.session_state:
        st.session_state.messages = []

    # 過去のメッセージを表示
    for msg in st.session_state.messages:
        with st.chat_message(msg["role"]):
            st.markdown(msg["content"])

    # ユーザーの入力欄
    if prompt := st.chat_input("メッセージを入力..."):
        st.session_state.messages.append({"role": "user", "content": prompt})
        # ユーザーのターン
        with st.chat_message("user"):
            st.markdown(prompt)

        # AIのターン
        with st.chat_message("assistant"):
            response = ollama.chat(model='llama3.2', messages=st.session_state.messages)
            full_response = response['message']['content']
            st.markdown(full_response)
       
        st.session_state.messages.append({"role": "assistant", "content": full_response})

    # Python -m streamlit run ai-test-01.py --server.headless true
    # ブラウザ経由でOllamaを読み込むコマンド 多重起動を防止
    # http://localhost:8501 にブラウザでアクセスする

    # Ctrl + C でターミナルからブラウザを終了。Ollamaから抜ける。

    # 同じWifiなら、起動中のOllama on browserを利用可能

  4. 実行
    1. コマンドプロンプトから、適切なAIモデルでOllamaを起動しておく
      1. ollama run llama3.2 など
    2. ターミナルから、Python -m streamlit run ai-test-01.py --server.headless true
      1. ターミナルでサーバーが立ち上がるだけ。多重起動を防ぐ。
    3. ブラウザでhttp://localhost:8501/
      1. 8501は、Streamlistが固有に作成するポート番号
  5. 終了
    1. ターミナルで、Ctrl+C
  6. 参考

コメント

このブログの人気の投稿

Visual Studio CodeでのPython環境の構築と運用

Ollamaの導入