システムプロンプト
意識したことなかった、プロンプトにぶっこめばそれでええねんやろと
なるほど、ユーザープロンプトにぶっこむよりも
一貫性を担保しやすい
ユーザープロンプトが汚れない
code:gpt
ChatGPT ではシステムプロンプトを使うことができます。これは通常のプロンプトと何が違うのですか?ある指示や制約をシステムプロンプトに書いた場合と、普通にプロンプトに書いた場合とで、何が違うのですか?
システムプロンプトと通常のプロンプトの違いについて説明いたします。
1. **システムプロンプト (System Prompt)**:
- **役割と場所**: システムプロンプトは、ユーザーが入力するプロンプトや質問とは別に、システム(モデル)が自身の動作方針や制約を理解するための内部的なガイドとして使われます。通常、ユーザーには見えない形で設定されます。
- **影響範囲**: システムプロンプトは、モデル全体の動作に影響を与えます。一度設定されると、全てのレスポンスにその影響が現れます。例えば、「すべての回答はフレンドリーなトーンで行うこと」といった指示がある場合、その指示はすべてのレスポンスに適用されます。
- **一貫性**: 指示や制約が一貫して適用され、通常のプロンプトによる変更がない限り、その方針に従い続けます。
2. **通常のプロンプト (User Prompt)**:
- **役割と場所**: これはユーザーが直接入力する質問や要求、指示です。例えば、「今日の天気は?」や「連続して3つのジョークを教えてください」といった形になります。
- **影響範囲**: 通常のプロンプトによって提供されるコンテキストや指示は、一度のやり取りに対して影響を与えます。次のプロンプトではその影響が直接的に続くわけではありません。
- **一時的な影響**: ある1回のプロンプトに対する応答に限った影響度が大きいです。一連の会話の流れを踏まえない限り、次のプロンプトによって内容やトーンが変わることがあります。
**例**:
- **システムプロンプトとして設定**: 「ユーザーの質問に対して常にポジティブかつフレンドリーに応答すること」
- この場合、ユーザーのあらゆる質問や指示に対して、モデルは常にポジティブかつフレンドリーなトーンを保ちます。
- **通常のプロンプトとして入力**: 「次の回答をポジティブなトーンで返して」
- ここでは、モデルは次の応答をポジティブにするよう努めますが、この影響はその次の通常プロンプトに対しては適用されないかもしれません。
したがって、システムプロンプトを使うことで、モデルの全般的な動作指針やスタイルを統一的に管理しやすくなります。一方、通常のプロンプトで指示を与えると、個別の応答がその指示に従う形になりますが、全面的な変更にはならないという違いがあります。
askai改良したいな
今
code:py
def ask(prompt):
response = openai.ChatCompletion.create(
model='gpt-4o',
messages=[
# ここに system role を追加できればいい
{'role': 'user', 'content': prompt},
],
request_timeout=130
)
return response
https://gyazo.com/981af60891e01c31aa53157c84627c7e
system
UI
テキストファイルに書いた内容を全部user promptにぶっこむ実装
特殊文法設けるしかなくね?
code:md
-- こんな風に-- で始まった行は
-- システムプロンプトとして解釈するとか?