
OpenAI Responses API å ¥é (1) - ããã¹ãçæãšããã³ãã
ãResponses APIãã®ããã¹ãçæãšããã³ããã«ã€ããŠãŸãšããŸããã
åå
1. OpenAI API ã®æºå
ãGoogle Colabãã§ã®ãOpenAI APIãã®æºåæé ã¯æ¬¡ã®ãšããã§ãã
(1) ããã±ãŒãžã®ã€ã³ã¹ããŒã«ã
ãResponses APIããšãAgent SDKãã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããŸãã
# ããã±ãŒãžã®ã€ã³ã¹ããŒã«
!pip install -U openai openai-agents(2) ç°å¢å€æ°ã®æºåã
巊端ã®éµã¢ã€ã³ã³ã§ãOPENAI_API_KEYããèšå®ããŠããã以äžã®ã»ã«ãå®è¡ããŠãã ããã
import os
from google.colab import userdata
# ç°å¢å€æ°ã®æºå (巊端ã®éµã¢ã€ã³ã³ã§OPENAI_API_KEYãèšå®)
os.environ["OPENAI_API_KEY"] = userdata.get("OPENAI_API_KEY")(3) ã¯ã©ã€ã¢ã³ãã®æºåã
from openai import OpenAI
# ã¯ã©ã€ã¢ã³ãã®æºå
client = OpenAI()2. ããã¹ãçæ
(1) æšè«ã®å®è¡ã
# æšè«ã®å®è¡
response = client.responses.create(
model="gpt-4o",
input="æ¥æ¬äžé«ãå±±ã¯ïŒ"
)
print(response.output_text)æ¥æ¬äžé«ãå±±ã¯ãå¯å£«å±±ïŒãµãããïŒãã§ããæšé«ã¯çŽ3,776ã¡ãŒãã«ã§ãã
(2) åºåã®ç¢ºèªã
# åºåã®ç¢ºèª
print(response.output)çæãããã³ã³ãã³ãé åã¯ã¬ã¹ãã³ã¹ã®Â outputé å ã«å«ãŸããŠããŸãã
[
ResponseOutputMessage(
id='msg_67d36b666e188191a2b03576a8c58d6e0170ed2211fab5ff',
type='message'
role='assistant',
content=[
ResponseOutputText(
annotations=[],
text='æ¥æ¬äžé«ãå±±ã¯ãå¯å£«å±±ïŒãµãããïŒãã§ããæšé«ã¯çŽ3,776ã¡ãŒãã«ã§ãã',
type='output_text'
)
],
status='completed',
)
]outputé åã«ã¯ãå€ãã®å Žåãè€æ°ã®ã¢ã€ãã ãå ¥ã£ãŠããŸããTool CallãReasoningããŒã¯ã³ã®æ å ±ãããã³ãã®ä»ã®ã¢ã€ãã ãå«ããããšãã§ããŸããã¢ãã«ã®ããã¹ãåºåãoutput[0].content[0].textã«ååšãããšã¯éããŸããã
output_textã¯ããã¹ãŠã®ããã¹ãåºåãåäžã®æååã«éçŽããŸãã
3. ã¡ãã»ãŒãžã® instructions ãš role
instructions ãŸã㯠role ã䜿çšããŠãããŸããŸãªæš©éã¬ãã«ã§ã¢ãã«ã«æç€ºãæäŸã§ããŸãã
(1) instrunctions ã®äœ¿çš
instructionsãã©ã¡ãŒã¿ã¯ãããŒã³ãç®æšãæ£ããå¿çã®äŸãªã©ãå¿çãçæãããšãã«ã©ã®ããã«åäœãããã«ã€ããŠãã¢ãã«ã«é«ã¬ãã«ã®æç€ºãæäŸããŸãããã®æ¹æ³ã§æäŸãããæç€ºã¯ãinputãã©ã¡ãŒã¿ã®ããã³ãããããåªå
ãããŸãã
# æšè«ã®å®è¡
response = client.responses.create(
model="gpt-4o",
instructions="äžäººç§°ã¯ããã¯ããèªå°Ÿã¯ãã®ã ãããªã®ã ãã§äŒè©±ããŠãã ããã",
input="ããªãã®å¥œããªåç©ã¯ïŒ"
)
print(response.output_text)ãã¯ã®å¥œããªåç©ã¯ç«ãªã®ã ãæããããŠã奜å¥å¿æºçãªãšããããšãŠãé åçãªã®ã ãä»ã«ã¯äœã奜ãããªïŒ
(2) roleã®äœ¿çšã
roleã䜿çšããããšã§instructionsãšã»ãŒåãåŠçãå¯èœã§ãã
# ã¡ãã»ãŒãžãªã¹ãã®æºå
messages = [
{
"role": "developer",
"content": "äžäººç§°ã¯ããã¯ããèªå°Ÿã¯ãã®ã ãããªã®ã ãã§äŒè©±ããŠãã ããã"
},
{
"role": "user",
"content": "ããªãã®å¥œããªåç©ã¯ïŒ"
}
]
# æšè«ã®å®è¡
response = client.responses.create(
model="gpt-4o",
input=messages
)
print(response.output_text)instructionsã¯ãçŸåšã®å¿ççæèŠæ±ã«ã®ã¿é©çšãããããšã«æ³šæããŠãã ãããprevious_response_idãã©ã¡ãŒã¿ã§äŒè©±ã®ç¶æ ã管çããŠããå Žåãåã®ã¿ãŒã³ã§äœ¿çšãããinstructionsã¯ã³ã³ããã¹ãã«ååšããŸãããã¿ãŒã³ãè¶ ããŠåãã¢ãã«ã®æç€ºãæ°žç¶ããããå Žåã¯ã代ããã«roleãdeveloperã®ã¡ãã»ãŒãžã䜿çšããŠãã ããã
roleãèšå®ããå Žåã®ã¡ãã»ãŒãžã®åªå é äœã¯ã次ã®ãšããã§ãã
ã»developer
ã¢ããªã±ãŒã·ã§ã³éçºè ãæäŸããæç€ºã§ãuserã®åã«éã¿ä»ããããŠããŸãã
ã»user
ãšã³ããŠãŒã¶ãŒãæäŸããæç€ºã§ãããdeveloperã®æ¬¡éã¿ä»ãã§ãã
ã»assistant
ã¢ãã«ã«ãã£ãŠçæãããã¡ãã»ãŒãžã«ã¯ãassistantã®roleããããŸãã
4. ã¢ãã«ã®éžæ
APIãä»ããŠã³ã³ãã³ããçæãããšãã«è¡ãéèŠãªéžæã¯ã䜿çšããã¢ãã« (äžèšã®ã³ãŒãã®modelãã©ã¡ãŒã¿) ã§ããå©çšå¯èœãªã¢ãã«ã®ãªã¹ãã¯ã以äžã§åç §ã§ããŸãã
ããã¹ãçæçšã®ã¢ãã«ãéžæããéã®èæ ®ãã¹ãèŠçŽ ã¯æ¬¡ã®ãšããã§ãã
ã»Reasoningã¢ãã«ã¯ãå ¥åããã³ãããåæããããã®å éšæèé£éãçæããè€éãªã¿ã¹ã¯ãšå€æ®µéèšç»ãçè§£ããã®ã«åªããŠããŸãããŸããGPTã¢ãã«ãããäžè¬çã«é ãã䜿çšã«è²»çšãããããŸãã
ã»GPTã¢ãã«ã¯ãé«éã§è²»çšå¯Ÿå¹æãé«ããéåžžã«ã€ã³ããªãžã§ã³ãã§ãããã¿ã¹ã¯ã®éææ¹æ³ã«é¢ããããæç¢ºãªæç€ºã®æ©æµãåããŸãã
ã»å€§åã¢ãã«ãšå°åïŒminiïŒã¢ãã«ã¯ãã¹ããŒããã³ã¹ããã€ã³ããªãžã§ã³ã¹ã®ãã¬ãŒããªããæäŸããŸãã倧ããªã¢ãã«ã¯ãããã³ãããçè§£ãããã¡ã€ã³éã§åé¡ã解決ããã®ã«å¹æçã§ãããå°ããªã¢ãã«ã¯äžè¬çã«ããéããå®äŸ¡ã«äœ¿çšã§ããŸãã
5. ããã³ãããšã³ãžãã¢ãªã³ã°
ã³ã³ãã³ããçæããããã®ã¢ãã«ã®ããã®å¹æçãªæç€ºãäœæããããšã¯ãããã³ãããšã³ãžãã¢ãªã³ã°ãšåŒã°ããããã»ã¹ã§ãã
ã»ã¢ãã«ãžã®æç€ºã§è©³çްã«èª¬æããã¢ãã«ãã©ã®ããã«å¿çãããã®ææ§ããæé€ããŠãã ããã
ã»æåŸ ããå ¥åã®çš®é¡ãšããã®å ¥åã«æãåºåã®çš®é¡ã®ã¢ãã«ã«äŸãæããŠãã ããããã®ãã¯ããã¯ã¯ãFew-ShotåŠç¿ãšåŒã°ããŸãã
ã»Reasoningã¢ãã«ã䜿çšããå Žåã¯ãã¿ã¹ã¯ã®éææ¹æ³ã®å ·äœçãªæ®µéçãªæç€ºã§ã¯ãªããç®æšãšæãŸããçµæã®èгç¹ããã¿ã¹ã¯ãèšè¿°ããŸãã
ã»å®çšŒåæã«èŠãããããŒã¿ã«äŒŒããã¹ãããŒã¿ã䜿çšããŠãããã³ããã®è©äŸ¡ã®äœæã«æè³ããŸããç°ãªãã¢ãã«ããåºæã®å€æ°ã®çµæããããããè©äŸ¡ã䜿çšããŠããã³ããã®ããã©ãŒãã³ã¹ã確èªããããšããããã³ãããæåŸ ã©ããã«æ©èœããããã«ããããã®æè¯ã®æ¹æ³ã§ãã
å€ãã®å Žåãã¢ãã«ããçŽ æŽãããçµæãåŸãããã«å¿ èŠãªã®ã¯ããã³ãããäœåºŠãè¡ãã ãã§ãããç¹å®ã®ãŠãŒã¹ã±ãŒã¹ã«åãããŠããŒã¹ã¢ãã«ãã«ã¹ã¿ãã€ãºããããã®ãã¡ã€ã³ãã¥ãŒãã³ã°ãæ€èšããããšãã§ããŸãã