Skip to content

人狼知能コンテスト(自然言語部門)のLLM使用サンプルエージェント

License

Notifications You must be signed in to change notification settings

kano-lab/aiwolf-nlp-llm-agent

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aiwolf-nlp-llm-agent

人狼知能コンテスト(自然言語部門)の生成AI(ChatGPT, Gemini)を使用したサンプルエージェントです。
このプログラムはaiwolf-nlp-agentをベースにしているため、実行方法などの詳細はこちらをご覧ください。

対象者

  • 人狼知能コンテスト(自然言語部門)に興味はあるが、何から手をつければ良いかわからない方
  • 人狼知能コンテスト(自然言語部門)に参加する予定で、ChatGPT, Geminiを使用する予定の方

2024年12月28日現在、GeminiのAPIは無料で使用することができるため、まずはこちらを使用して試すことをお勧めします。
無料のAPIはレート制限が厳しい場合があるので、一度制限の内容を確認することもお勧めします。
Geminiの料金モデル

構成

aiwolf-nlp-agentとの差分の構成を記述します。

.
└── src
    ├── res
    │   ├── __init__.py
    │   ├── config.ini.example
    │   ├── env.example
    │   ├── llm
    │   │   ├── chatgpt.ini.example
    │   │   └── gemini.ini.example
    │   └── prompt.py
    └── utils
        ├── agent_util.py
        └── llm
            ├── ChatGPT
            │   ├── __init__.py
            │   ├── aiwolf_nlp_gpt.py
            │   ├── chatgpt.py
            │   ├── message_role.py
            │   └── optional_params.py
            └── Gemini
                ├── __init__.py
                ├── gemini.py
                └── message_role.py

環境構築

aiwolf-nlp-agentの環境構築に加え、以下の内容を実行してください。

  1. 以下のコマンドの実行

    cp src/res/env.example src/res/.env
    cp src/res/llm/chatgpt.ini.example src/res/llm/chatgpt.ini
    cp src/res/llm/gemini.ini.example src/res/llm/gemini.ini
    
  2. OpenAIのAPIキーをsrc/res/.envファイル内のOPENAI_API_KEYに記述する(ChatGPTを使用する場合)

    APIキーはOpenAI Platformから作成することができます。

  3. GeminiのAPIキーをsrc/res/.envファイル内のGEMINI_API_KEYに記述する(Geminiを使用する場合)

    APIキーはGoogle AI for Developersの、Gemini APIキーを取得するから作成することができます。

プロンプトの変更方法

src/res/prompt.pyの内容を変更することで与えるプロンプトを変更することができます。詳細は以下に記述します。

[src/res/prompt.py]

get_common_prompt: 全命令に共通する内容を記述しているプロンプトです。(src/player/agent.pyinitializeで設定しています。 )

get_talk_prompt: talkの際に命令する内容を記述しているプロンプトです。(src/player/agent.pytalkで設定しています。 )

使用する生成AIの変更方法

src/res/config.ini[model]セクションには、使用するモデルに関する設定が記載されています。デフォルトではGeminiが有効になっており、ChatGPTは無効になっています。この設定を変更することで、利用するモデルを切り替えることができます。

例えば、以下のような記述になっています。

(省略)

[model]
ChatGPT = false
Gemini = true

(省略)

ChatGPTを使用したい場合は、ChatGPTをtrueに、Geminiをfalseに変更してください。

生成AIのパラメータの変更方法

ChatGPT

src/res/llm/chatgpt.iniに以下のような内容でパラメータを設定するファイルが存在します。

[params]
model = gpt-3.5-turbo
# frequency_penalty =
# max_completion_tokens = 
# n = 
# presence_penalty = 
# seed = 
# temperature = 
# top_p = 

modelは必須項目であり、他の項目は任意です。
使用する項目はコメントアウトを外し、値を設定してご使用ください。
それぞれのパラメータの値や意味についてはAPI referenceをご確認ください。

Gemini

src/res/llm/gemini.iniに以下のような内容でパラメータを設定するファイルが存在します。

[params]
model = gemini-1.5-flash
# candidate_count = 
# max_output_tokens = 
# temperature = 
# top_p = 
# top_k = 
# seed = 
# presence_penalty = 
# requency_penalty = 

modelは必須項目であり、他の項目は任意です。
使用する項目はコメントアウトを外し、値を設定してご使用ください。
それぞれのパラメータの値や意味についてはAPI referenceをご確認ください。

ChatGPTの設定について

APIで使用可能な設定の内、一部のみsrc/utils/llm/ChatGPT/chatgpt.pyに記述してあります。詳細は以下のリファレンスをご参照ください。

API reference

Geminiの設定について

API reference

About

人狼知能コンテスト(自然言語部門)のLLM使用サンプルエージェント

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.7%
  • Shell 0.3%