Python Programer Agent:ソースコード:main.py


import os
import streamlit as st

# custom tools
from tools.command_list import set_work_space
from tools.command_list import load_ai_agent_name_list
from tools.PythonProgramerAgent import PythonProgramerAgent
################################################
##########################################################
def init_page():
    st.set_page_config(
        page_title="Python program agent.",
        page_icon=""
    )
    st.header("Python program agent.")
    st.sidebar.title("Options")


def init_messages(ai_agent):
    clear_button = st.sidebar.button("Clear Conversation", key="clear")
    if clear_button or "messages" not in st.session_state:
        st.session_state.messages = [
            {"role": "assistant", "content": "入力してください。"}
        ]
        ai_agent.clear_memory()



def main():
    load_ai_agent_name_list()
    ai_agent=PythonProgramerAgent()
 
    init_page()
    init_messages(ai_agent)
    set_work_space(os.getcwd())
    print("current folder", os.getcwd())
    for msg in st.session_state['memory'].chat_memory.messages:
        st.chat_message(msg.type).write(msg.content)
    # セッション状態に値がある場合のみテキスト入力欄を表示

    if user_prompt := st.chat_input(placeholder="作業内容を入れてください"):
        st.chat_message("user").write(user_prompt)

        respons = ai_agent.get_respons(user_prompt)
        st.chat_message("Python program agent").write(respons)
    print("end_of_main")
if __name__ == '__main__':
    main()

以下AIによる説明

このプログラムは、Python プログラミングに関する質問に答えるためのチャットボットです。Streamlit を使用して構築されており、ユーザーの入力を受け取り、PythonProgramerAgent クラスを使用して応答を生成します。

プログラムの構成

  • init_page() 関数:
    • ページのタイトルとアイコンを設定します。
    • ヘッダー “Python program agent.” を表示します。
    • サイドバーに “Options” というタイトルを設定します。
  • init_messages(ai_agent) 関数:
    • サイドバーに “Clear Conversation” ボタンを追加します。
    • ボタンがクリックされた場合、またはセッション状態に “messages” が存在しない場合、セッション状態に初期メッセージを設定します。
    • AI エージェントのメモリをクリアします。
  • main() 関数:
    • AI エージェントの名前リストをロードします。
    • PythonProgramerAgent クラスのインスタンスを作成します。
    • init_page() と init_messages() を呼び出します。
    • 作業ディレクトリを設定します。
    • セッション状態のチャットメモリからメッセージを表示します。
    • ユーザーからの入力を受け取ります。
    • ユーザーの入力に基づいて AI エージェントから応答を取得します。
    • AI エージェントの応答を表示します。

PythonProgramerAgent クラス

  • このクラスは、ユーザーの質問に対する応答を生成するために使用されます。
  • get_respons() メソッドは、ユーザーの入力を受け取り、それに応じた応答を生成します。
  • clear_memory() メソッドは、AI エージェントのメモリをクリアします。

プログラムの実行

  1. このプログラムを実行するには、Streamlit をインストールする必要があります。
  2. プログラムを実行すると、Streamlit アプリケーションが起動します。
  3. チャットボックスに Python プログラミングに関する質問を入力します。
  4. AI エージェントは、質問に対する応答を生成します。

リファレンスマニュアル

  • set_work_space() 関数:
    • 作業ディレクトリを設定します。
  • load_ai_agent_name_list() 関数:
    • AI エージェントの名前リストをロードします。
  • PythonProgramerAgent クラス:
    • ユーザーの質問に対する応答を生成します。
    • get_respons() メソッド: ユーザーの入力を受け取り、それに応じた応答を生成します。
    • clear_memory() メソッド: AI エージェントのメモリをクリアします。

追加情報

  • このプログラムは、Streamlit と PythonProgramerAgent クラスを使用して構築されています。
  • PythonProgramerAgent クラスは、ユーザーの質問に対する応答を生成するために使用されます。
  • このプログラムは、Python プログラミングに関する質問に答えるためのチャットボットとして使用できます。

参考資料

このプログラムは、Python プログラミングに関する質問に答えるためのチャットボットとして使用できます。ユーザーは、チャットボックスに質問を入力し、AI エージェントはそれに応じた応答を生成します。