Webアプリケーションから簡単にOpenAIのGPTモデルを使用してテキスト生成する方法 |
您所在的位置:网站首页 › 天气api怎么用 › Webアプリケーションから簡単にOpenAIのGPTモデルを使用してテキスト生成する方法 |
ここではStreamlitを使用してChatGPTのAPIを呼び出して自然言語処理を行うWebアプリケーションの作成方法について説明しています。また、プログラムからChatGPTを利用するために必要なOpenAI APIキーの取得方法についても最初に説明しています。 1.OpenAIキーの取得https://openai.com/product を開いて「Get started」をクリックする。 ログインする。またはアカウントを作成する。作成する場合はメールアドレスと電話番号が必要です。 無事、ログインすると紹介ページが表示される。 自分のアイコン画像を右クリックするとリストが表示されるので、その中から「View API Keys」をクリックする。 「Create new secret key」をクリックしてキーを作成する。 作成したキーはコピーして環境変数などに設定する。 ※ 環境変数の設定がわからない人は直接Pythonのコードに記入してください。 この設定画面からはもう一度見ることはできない。分からなくなった場合は新規にキーを生成し直すこと。 2.Streamlitのプログラミング パッケージのインストールStreamlitとOpenAIのパッケージをインストールする必要があります。 StreamlitはWebアプリケーションのフレームワークであり、OpenAIはChatGPTのAPIを使用するためのパッケージです。 前提としてPythonがインストールされている必要があります。また、インストールする際には、Pythonのバージョンと互換性のあるバージョンを選択する必要があります。 $ pip install streamlit $ pip install openai コード解説このコードは、Streamlitを使用してユーザーの入力に基づいてOpenAIのAPIを使用して自然言語処理を実行するものです。 最初に、必要なパッケージをインポートします。 import streamlit as st import openai import osstreamlitはWebアプリケーションのフレームワークで、openaiはOpenAIのAPIを使用するためのパッケージです。osは、環境変数を取得するために使用されます。 次に、APIキーを設定するための関数を定義します。 def setup_openai_api(): openai.api_key = os.environ.get('OPEN_AI_KEY')この関数は、OPEN_AI_KEY環境変数からAPIキーを読み取り、openai.api_keyにセットします。 環境変数への設定方法が分からない人は、以下の様に直接OpenAIのキーを書き込んでください。ただしコード内容の漏洩にはくれぐれもご注意ください。 def setup_openai_api(): openai.api_key = 'sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'次に、OpenAIに問い合わせを送信して応答を取得する関数を定義します。 # OpenAIに問い合わせを送信し、応答を取得する関数 def generate_response(system_text: str, user_text: str) -> openai.api_resources.Completion: response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=message, max_tokens=2000, temperature=0, stream=True ) return responseこの関数は、openai.ChatCompletion.createメソッドを使用してOpenAIに問い合わせを送信し、応答を取得します。modelパラメータは使用するOpenAIのモデルを指定し、messagesパラメータには、チャットの履歴が含まれます。max_tokensパラメータは、生成されたテキストの長さを制御し、temperatureパラメータは、生成されたテキストの多様性を制御します。 次に、ユーザーからの入力を取得する関数を定義します。 def get_user_input() -> str: return st.text_area("質問", value="OpenAIとOpen AIの違いは?")この関数は、streamlitのtext_areaメソッドを使用して、ユーザーからテキスト入力を受け取ります。 最後に、メインの関数を定義します。 def main(): setup_openai_api() # OpenAI APIキーを設定する system_text = "アシスタントAI" user_text = get_user_input() # ユーザーの入力を取得する is_generate_clicked = st.button("回答") if is_generate_clicked: response = generate_response(system_text, user_text) # OpenAIに問い合わせを送信し、応答を取得する display_response(response) # OpenAIから受け取った応答を表示するこの関数は、最初にふたつの関数setup_openai_apiとget_user_inputを呼び出し、OpenAI APIキーを設定し、ユーザーからの入力を取得します。次に、ユーザーが回答ボタンをクリックしたときにのみgenerate_responseを呼び出し、OpenAIから返された応答を表示するためのdisplay_response関数を呼び出します。 以下は、display_response 関数の例です。 def display_response(response: openai.api_resources.Completion): for message in response.choices: text = message.text st.text(text)この関数は、streamlitのtext_areaメソッドを使用して、ユーザーからテキスト入力を受け取ります。 最後に、メインの関数を定義します。 if __name__ == "__main__": main()このアプリケーションは、Webアプリケーションとして動作し、ユーザーが入力したテキストに基づいてOpenAIのAPIを使用して自然言語処理を行い、結果を表示します。 実行方法このコードは、OpenAIのAPIを使用して、ユーザーが入力した質問に答えるWebアプリケーションをStreamlitで実装したものです。以下のような流れで動作します。 ユーザーが質問を入力する 質問をOpenAIのAPIに送信し、回答を受け取る 回答を表示する実行方法として、ターミナルでstreamlit run demo1.pyを実行し、Webアプリケーションを起動します。その後、http://localhost:8501 にアクセスすることでアプリケーションを使用できます。 $ streamlit run demo1.py You can now view your Streamlit app in your browser. Local URL: http://localhost:8501実行結果のイメージはこのようになります。 ソースコードこのWebアプリケーションのソースコードは、GitHubリポジトリで公開されています。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |