chatGPT Python API でコンテキスト管理を有効にする方法は?
公式ケース:
# Note: you need to be using OpenAI Python v0.27.0 for the code below to work import openai openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Who won the world series in 2020?"}, {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."}, {"role": "user", "content": "Where was it played?"} ] )
形式は示されているものの、詳細な説明はありません。高レベルの開発者なら一目で理解できるかもしれませんが、もう少し言葉で説明したいと思います。 . このコンテキスト管理。
私の簡単なコードを見てみましょう (コンテキスト管理はまだ有効になっていません):
import openai openai.api_key = "你的sk-key" msg = [{"role": "user", "content": "你好chatGPT"}] # 结构化数据并进行提交 completion = openai.ChatCompletion.create( # max_tokens = inf # 默认inf 最大令牌数 presence_penalty = 1, # 惩罚机制,-2.0 到 2.0之间,默认0,数值越小提交的重复令牌数越多,从而能更清楚文本意思 frequency_penalty = 1, # 意义和值基本同上,默认0,主要为频率 temperature = 1.0, # 温度 0-2之间,默认1 调整回复的精确度使用 n = 1, # 默认条数1 user = ids, # 用户ID,用于机器人区分不同用户避免多用户时出现混淆 model = "gpt-3.5-turbo", # 这里注意openai官方有很多个模型 messages = msg ) value = completion.choices[0].message.content # chatGPT返回的数据
これは最も基本的な構造であり、パラメーター モデルとメッセージの 2 つが含まれています。必要な書類。
コンテキスト管理を追加するコード:
import openai openai.api_key = "你的sk-key" msg = [{"role": "system", "content": "你的名字叫玖河AI,你是一个插件,你的开发者是玖河."}, {"role": "user", "content": "你好chatGPT"}, {"role": "assistant", "content": "您好,有什么需要我帮忙的问题吗?"}, {"role": "user", "content": "我的名字叫高启强,我的妹妹叫高启兰,我们是兄妹关系。记住了吗?"} {"role": "assistant", "content": "好的,您叫高启强,您的妹妹叫高启兰,是亲兄妹关系。谢谢您提供信息让我更了解你们~"}, {"role": "user", "content": "你现在在哪里?"}, {"role": "assistant", "content": "作为一款智能Ai助手,我并没有实际的位置。我只是在云端中运行,在等待用户输入指令时保持睡眠状态。"}, {"role": "user", "content": "我的妹妹是谁?"}, {"role": "assistant", "content": "您之前告诉我,您的妹妹叫高启兰。"}, {"role": "user", "content": "你的名字叫什么?"}, {"role": "assistant", "content": "我的名字叫玖河AI是一个叫玖河的开发者开发的插件"} ] # 结构化数据并进行提交 completion = openai.ChatCompletion.create( # max_tokens = inf # 默认inf 最大令牌数 presence_penalty = 1, # 惩罚机制,-2.0 到 2.0之间,默认0,数值越小提交的重复令牌数越多,从而能更清楚文本意思 frequency_penalty = 1, # 意义和值基本同上,默认0,主要为频率 temperature = 1.0, # 温度 0-2之间,默认1 调整回复的精确度使用 n = 1, # 默认条数1 user = ids, # 用户ID,用于机器人区分不同用户避免多用户时出现混淆 model = "gpt-3.5-turbo", # 这里注意openai官方有很多个模型 messages = msg ) value = completion.choices[0].message.content # chatGPT返回的数据
コンテキスト管理が有効になっている次のデータ構造は、コンテキスト管理が有効になっていないデータ構造と若干異なります:
① system はシステム設定を表します (また、 chatGPT に自分の役割を伝えるだけです)
② user はユーザーを意味します
③ Assistant は GPT の応答を意味します
落とし穴を避けるために、全員に言及する必要があるいくつかのポイントがあります。
1. メッセージ データをデータベースの形式で保存することをお勧めします。利点は、データを永続化できることです。また、json を使用してデータを取得するのにも非常に便利です。最初は保存しましたが、時間がかかり、やはり諦めましたが、ユーザーごとにセッションが異なることを考慮する必要があるため、保存と取得が不便であることが欠点です。
2. 送信されるデータ構造の順序は上から下でなければならないことに注意してください。そうしないと、chatGPT が混乱します。システムはそこにある必要はありません。この設定を維持したい場合は、次のようにします。システム データが送信されるたびに、最初のリスト要素にシステム データを追加するだけです。
3. もう 1 つの重要な点があります: 送信されたデータは、chatGPT が応答するときも含めてトークンに計算されます (最大 4096 トークン)。コンテキスト管理により多くのコーパスを記憶させたい場合は、データを送信するときに次のようにしてください。できるだけ会話の内容を増やしてください(トークンの消費も早くなります)。
4. 2023 年 3 月 14 日現在: chatGPT のメンバーシップ価格は月額 20 ドルで、トークンはボリュームに基づいて課金されます。平たく言えば携帯電話カードのようなもので、月額料金があり、通話料も別途かかります。 chatGPT Plus会員になると速度が速く安定するのがメリットで、無料版でも使えますが、速度が遅く不安定でクラッシュしやすいです。
以上がchatGPT Python API でコンテキスト管理を有効にする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

CentOSシステムでのPytorchモデルの効率的なトレーニングには手順が必要であり、この記事では詳細なガイドが提供されます。 1。環境の準備:Pythonおよび依存関係のインストール:Centosシステムは通常Pythonをプリインストールしますが、バージョンは古い場合があります。 YumまたはDNFを使用してPython 3をインストールし、PIP:sudoyumupdatepython3(またはsudodnfupdatepython3)、pip3install-upgradepipをアップグレードすることをお勧めします。 cuda and cudnn(GPU加速):nvidiagpuを使用する場合は、cudatoolをインストールする必要があります

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

Pytorch GPUアクセラレーションを有効にすることで、CentOSシステムでは、PytorchのCUDA、CUDNN、およびGPUバージョンのインストールが必要です。次の手順では、プロセスをガイドします。CUDAおよびCUDNNのインストールでは、CUDAバージョンの互換性が決定されます。NVIDIA-SMIコマンドを使用して、NVIDIAグラフィックスカードでサポートされているCUDAバージョンを表示します。たとえば、MX450グラフィックカードはCUDA11.1以上をサポートする場合があります。 cudatoolkitのダウンロードとインストール:nvidiacudatoolkitの公式Webサイトにアクセスし、グラフィックカードでサポートされている最高のCUDAバージョンに従って、対応するバージョンをダウンロードしてインストールします。 cudnnライブラリをインストールする:

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

CentOSでPytorchバージョンを選択する場合、次の重要な要素を考慮する必要があります。1。CUDAバージョンの互換性GPUサポート:NVIDIA GPUを使用してGPU加速度を活用したい場合は、対応するCUDAバージョンをサポートするPytorchを選択する必要があります。 NVIDIA-SMIコマンドを実行することでサポートされているCUDAバージョンを表示できます。 CPUバージョン:GPUをお持ちでない場合、またはGPUを使用したくない場合は、PytorchのCPUバージョンを選択できます。 2。PythonバージョンPytorch

MINIOオブジェクトストレージ:CENTOSシステムの下での高性能展開Minioは、Amazons3と互換性のあるGO言語に基づいて開発された高性能の分散オブジェクトストレージシステムです。 Java、Python、JavaScript、Goなど、さまざまなクライアント言語をサポートしています。この記事では、CentosシステムへのMinioのインストールと互換性を簡単に紹介します。 Centosバージョンの互換性Minioは、Centos7.9を含むがこれらに限定されない複数のCentosバージョンで検証されています。

NGINXのインストールをインストールするには、次の手順に従う必要があります。開発ツール、PCRE-Devel、OpenSSL-Develなどの依存関係のインストール。 nginxソースコードパッケージをダウンロードし、それを解凍してコンパイルしてインストールし、/usr/local/nginxとしてインストールパスを指定します。 nginxユーザーとユーザーグループを作成し、アクセス許可を設定します。構成ファイルnginx.confを変更し、リスニングポートとドメイン名/IPアドレスを構成します。 nginxサービスを開始します。依存関係の問題、ポート競合、構成ファイルエラーなど、一般的なエラーに注意する必要があります。パフォーマンスの最適化は、キャッシュをオンにしたり、ワーカープロセスの数を調整するなど、特定の状況に応じて調整する必要があります。
