ã¯ããã«
æ®æ®µã¯ç©æµãã©ãã¯ãã©ã€ããŒãããªããPythonåŠç¿ãããŠãã tosane932 ã§ãã
åãPythonåŠç¿ãå§ããåæããçŸåšé²è¡åœ¢ã§éçºããŠããã
ð sales_data_app ð¥
ã®å®éã®ã³ãŒããææã«ãPythonåºç€ãåŠã³çŽããŠããŸãã
1æéç®ã§ã¯ã
倿°ã»ããŒã¿åã»æ¯èŒæŒç®åã»ifæ
ãåŠã³çŽããŸããã
2æéç®ã§ã¯ã
ãªã¹ãã»èŸæžã»setã»foræ
ãåŠã³çŽããŸããã
3æéç®ã§ã¯ã
颿°ã»åŒæ°ã»returnã»é¢æ°ã®åŒã³åºãã»åãã³ã
ãåŠã³çŽããŸããã
3æéç®ã§ã¯ã
def build_sales_prompt(sales_summary: str) -> str:
return ...
ãšããå®ã³ãŒãããã
颿°ãäœã
â
åŒæ°ãåãåã
â
åŠçãã
â
returnã§çµæãè¿ã
â
å¥ã®å ŽæããåŒã³åºã
ãšããæµããèŠãŠãããŸããã
ã§ããããã§äžã€æ°ã«ãªãããšããããŸãã
ãã®ã
build_sales_prompt()
ãšãã颿°ã¯ã
prompts.py
ãšããå¥ã®ãã¡ã€ã«ã«ãããŸãã
äžæ¹ããã®é¢æ°ãå®éã«äœ¿ã£ãŠããã®ã¯ã
app.py
ã§ãã
ð¹ãããïŒå¥ã®ãã¡ã€ã«ã«ãã颿°ããã©ããã£ãŠapp.pyãã䜿ã£ãŠããã ïŒã
ä»åã¯ãããããã¹ã¿ãŒãããŸãã
ðïž ä»åã®èšäºã3è¡ã§ãŸãšãããš
- Pythonã³ãŒãããã¡ã€ã«ããšã«åããŠæ±ã
ã¢ãžã¥ãŒã«ãšãimportã®åœ¹å²ãå®ã³ãŒãã§ç¢ºèªãã - åŠçäžã«åé¡ãèµ·ãããšãã®
äŸå€ãšã¯äœãªã®ããåŠã³çŽã -
tryãšexceptã䜿ã£ãŠãæ³å®å€ã®å€ãæ¥ãŠãåŠçãåããä»çµã¿ã远ã
ð¹ ä»åãã¢ã°ã©ãããšåŠã³çŽããŸã
ð¹ã3æéç®ã§é¢æ°ã¯åãã£ããã©ãå šéšapp.pyã«æžããããããªããã ããã
ãããã«ã
sales_data_app ã«ã¯ã
app.py
prompts.py
models.py
config.py
...
ã®ããã«ãè€æ°ã®Pythonãã¡ã€ã«ããããŸãã
1ã€ã®ãã¡ã€ã«ã«å šéšæžãã®ã§ã¯ãªãã
ã¢ããªæ¬äœã®åŠç
AIãžæž¡ãæç« ãäœãåŠç
ããŒã¿ããŒã¹ã®å®çŸ©
èšå®
ãªã©ã圹å²ããšã«åãããŠããŸãã
ãããŠãå¥ã®ãã¡ã€ã«ã«ããæ©èœã䜿ããããšãã«ç»å Žããã®ãã
import
ã§ãã
ããã«ä»åã¯ã
try
except
ãšããããããŸã§ãšã¯å°ãéã圢ã®åŠçãèŠãŠãããŸãã
ð¹ããŸãç¥ããªãè±åèªãå¢ãããâŠâŠãã
ä»åããäžã€ãã€å®ã³ãŒãããèŠãŠãããŸãã
ð ããã§ã¯4æéç®
ä»åã®ããŒã
ãã¢ãžã¥ãŒã«ã»importã»äŸå€ã»tryã»exceptãšã¯ïŒã
ä»ååŠã³çŽãã®ã¯5ã€ã§ãã
ð ä»ååŠã¶5ã€
- ã¢ãžã¥ãŒã«ïŒPythonã®åŠçããŸãšãããã¡ã€ã«
-
importïŒå¥ã®ã¢ãžã¥ãŒã«ã䜿ããããã«ãã - äŸå€ïŒåŠçäžã«åé¡ãèµ·ããããšãPythonãç¥ãããä»çµã¿
-
tryïŒäŸå€ãèµ·ããå¯èœæ§ã®ããåŠçãå®è¡ãã -
exceptïŒç¹å®ã®äŸå€ãèµ·ãããšãã®åŠçãæžã
ä»åã¯ã
å¥ãã¡ã€ã«ã«åŠçãåãã
â
importããŠäœ¿ã
â
åŠçãå®è¡ãã
â
ããåé¡ãèµ·ããã
â
exceptã§å¥ã®åŠçãžé²ã
ãšããæµããšããŠèŠãŠãããŸãã
1. ð ã¢ãžã¥ãŒã«ãšã¯ïŒ
ãŸãã¯ã¢ãžã¥ãŒã«ã§ãã
Pythonã§ã¯ãåŠçã1ã€ã®ãã¡ã€ã«ã ãã«å šéšæžãå¿ èŠã¯ãããŸããã
äŸãã°ã
main.py
ãšã¯å¥ã«ã
message.py
ãšããPythonãã¡ã€ã«ãäœãããšãã§ããŸãã
ãã®ãããªPythonã®ã³ãŒããæžãããã¡ã€ã«ã¯ãã¢ãžã¥ãŒã«ãšããŠæ±ãããšãã§ããŸãã
ä»åã® sales_data_app ãªãã
app.py
prompts.py
models.py
config.py
ãªã©ããããŸãã
ð 3æéç®ã§èŠãprompts.py
3æéç®ã§ã¯ã
def build_sales_prompt(sales_summary: str) -> str:
return f"""
...
{sales_summary}
...
"""
ãšãã颿°ãèŠãŸããã
ãã®é¢æ°ãæžãããŠããã®ã¯ã
prompts.py
ã§ãã
ãã¡ã€ã«åãèŠããšã
prompts
â
ããã³ããã«é¢ä¿ããåŠç
ãšã圹å²ãåãããŠããŸãã
å®éã® prompts.py ã«ã¯ã
def build_sales_prompt(sales_summary: str) -> str:
ãšããAIãžæž¡ãããã³ãããäœã颿°ããããŸãã
ð¹ã3æéç®ã§ã¯é¢æ°ã°ããèŠãŠããã©ããã®é¢æ°ãã©ã®ãã¡ã€ã«ã«ããããŸã§ã¯ããŸãæ°ã«ããŠãªãã£ããªããã
ããããŠèŠããšã
颿°
â
ã©ããã®Pythonãã¡ã€ã«ã«æžãããŠãã
Pythonãã¡ã€ã«
â
ã¢ãžã¥ãŒã«ãšããŠå©çšã§ãã
ãšããé¢ä¿ãèŠããŠããŸãã
å³1ïŒç»é¢äžã§ã¯AIã¢ããã€ã¹æ©èœãšããŠèŠããŸããããã®è£åŽã§ã¯ããã³ãããäœãåŠçã
prompts.pyãžåããapp.pyããimportããŠäœ¿ã£ãŠããŸãã
ãªããã¡ã€ã«ãåããã®ïŒ
äŸãã°ããã¹ãŠã®åŠçãã
app.py
ã ããžæžããŠãããšã
ãã°ã€ã³åŠç
ååç»é²
売äžå
¥å
ããã·ã¥ããŒã
AIã¢ããã€ã¹
ããã³ããäœæ
Guest Demo
...
ãšãã©ãã©ãåŠçãå¢ããŠãããŸãã
ããã§ã圹å²ã«ãã£ãŠãã¡ã€ã«ãåããã°ã
app.py
â
ã¢ããªæ¬äœ
prompts.py
â
AIããã³ãããäœãåŠç
models.py
â
ããŒã¿ããŒã¹ã«é¢ä¿ããå®çŸ©
ã®ããã«ãã©ãã«äœãããã®ãæŽçãããããªããŸãã
ä»åã¯ã
Pythonã®åŠçãå¥ãã¡ã€ã«ãžåãããã®ãã¡ã€ã«ãã¢ãžã¥ãŒã«ãšããŠäœ¿ãã
ãšãããšãããŸã§æŒãããŠãããŸãã
ãã¡ã€ã«ãããã±ãŒãžã®è©³ããä»çµã¿ã¯ããŸãå¿ èŠã«ãªã£ããšãã«æãäžããŸãã
2. ðŠ importãšã¯ïŒ
å¥ã®ãã¡ã€ã«ã«åŠçãåããŠãã
ãã®æ©èœã䜿ããªããã°æå³ããããŸããã
ããã§ç»å Žããã®ãã
import
ã§ãã
ç°¡åã«èãããšã
å¥ã®ã¢ãžã¥ãŒã«ã«ããæ©èœãããã®ãã¡ã€ã«ã§ã䜿ããããã«ãã
ããã«äœ¿ããŸãã
ð sales_data_appã®å®ã³ãŒã
app.py ã«ã¯ã
from prompts import build_sales_prompt
ãšæžãããŠããŸãã
ãããåããŠèŠãŠã¿ãŸãã
from prompts
â
promptsã¢ãžã¥ãŒã«ãã
import
â
åã蟌ã
build_sales_prompt
â
ãã®é¢æ°ã
ã€ãŸãã
prompts.pyã«ããbuild_sales_prompt颿°ããapp.pyã§ã䜿ããããã«ããŠãã
ãšããããšã§ãã
ð¹ãã ããapp.pyã«é¢æ°æ¬äœããªããŠãåŒã³åºããã®ãïŒã
3æéç®ã§èŠãã
prompt = build_sales_prompt(sales_summary)
ãšããã³ãŒãã«ã€ãªãããŸããã
prompts.py
def build_sales_prompt(...):
...
â
from prompts import build_sales_prompt
â
app.py
build_sales_prompt(sales_summary)
ãšããæµãã§ãã
import configãšããæžãæ¹ããã
sales_data_app ã«ã¯ãããäžã€éã圢ã®importããããŸãã
import config
ã§ãã
ãããŠã
config.SQLALCHEMY_DATABASE_URI
ã®ããã«äœ¿ã£ãŠããŸãã
å ã»ã©ã¯ã
from prompts import build_sales_prompt
ã§ããã
ä»åã¯ã
import config
ã§ãã
èŠãç®ãå°ãéããŸãã
from prompts import build_sales_prompt
â
promptsããç¹å®ã®ååãåã蟌ã
import config
â
configã¢ãžã¥ãŒã«ãã®ãã®ãåã蟌ã
ãšããéãããããŸãã
ð¹ãåãimportã§ãæžãæ¹ãéããã ããã
ä»åã¯ãŸãã
import config
ãšã
from prompts import build_sales_prompt
ã®2ã€ãå®ã³ãŒãã§äœ¿ãããŠããããšã確èªããŠãããŸãã
ð¡ 3æéç®ãš4æéç®ãã€ãªãã£ã
3æéç®ã§ã¯ã
def build_sales_prompt(...):
ãšãã颿°ãäœãåŽãèŠãŸããã
4æéç®ã§ã¯ã
from prompts import build_sales_prompt
ã«ãã£ãŠã
ãã®é¢æ°ãå¥ãã¡ã€ã«ãã䜿ããããã«ãã
ãšãããŸã§é²ã¿ãŸããã
颿°ãäœã
â
ã¢ãžã¥ãŒã«ã«çœ®ã
â
importãã
â
å¥ã®å ŽæããåŒã³åºã
ãšã€ãªãã£ãŠããŸãã
3. â ïž äŸå€ãšã¯ïŒ
ããããå°ã話ãå€ãããŸãã
ããã°ã©ã ã¯ããã€ãæ³å®ã©ããã®å€ã ããåãåããšã¯éããŸããã
äŸãã°ã
int("123")
ãªããæååã® "123" ãæŽæ°ãžå€æã§ããŸãã
ã§ãã
int("ãã³")
ã®ããã«ãæŽæ°ãšããŠå€æã§ããªãæååãæ¥ããã©ããªãã§ãããïŒ
ãã®ããã«ã
åŠçããã®ãŸãŸç¶ããããªãåé¡ãçºçãããšã
Pythonã§ã¯äŸå€ãçºçããããšããããŸãã
ð sales_data_appã«ãäŸå€ãžã®åãããã
ååç»é²åŠçã§ã¯ã
year = int(request.form.get("year"))
month = int(request.form.get("month"))
ãšããŠã
year
month
ãæŽæ°ãžå€æããŠããŸãã
ããã¯1æéç®ã§ãåºãŠããã
int()
ã§ããã
ð¹ããã£ããŸã1æéç®ã®ããŒã¿åãåž°ã£ãŠãããã
ã§ããããæŽæ°ãžå€æã§ããªãå€ã ã£ãå Žåã
ãã®ãŸãŸã§ã¯åŠçãç¶ããããŸããã
ããã§å®éã®ã³ãŒãã§ã¯ã
try:
year = int(request.form.get("year"))
month = int(request.form.get("month"))
except (TypeError, ValueError):
logger.warning("Rejected product update with invalid year or month.")
return "幎æãæ£ãããããŸããã", 400
ãšãªã£ãŠããŸãã
ããã§ã
TypeError
ValueError
ãšããååãåºãŠããŸããã
ãããã¯ãPythonã§çºçããäŸå€ã®çš®é¡ã§ãã
ValueErrorãšã¯ïŒ
äŸãã°ã
int("abc")
ã®ããã«ã
intã«å€æããããšãã
â
ã§ãå
å®¹ãæŽæ°ãšããŠæ£ãããªã
å Žåã«ã¯ã
ValueError
ãçºçããŸãã
ä»åã®ã³ãŒãã§ãã
ValueError
ãåãåããããã«ããŠããŸãã
TypeErrorãæžãããŠãã
å®ã³ãŒãã§ã¯ã
except (TypeError, ValueError):
ãšãªã£ãŠããŸãã
ã€ãŸãã
TypeError
ãŸãã¯
ValueError
ãçºçããå ŽåãåŠçããŠããŸãã
äŸãã°ãã©ãŒã ããå€ãååŸã§ããã
None
ã®ãããªå€ã int() ã«æž¡ããå Žåãªã©ã¯ãæ³å®ããåãšããŠæ±ãã TypeError ã«ãªãããšããããŸãã
ä»å㯠TypeError ãš ValueError ã®çްããéããå®å
šã«èŠããããã
äŸå€ã«ãçš®é¡ããããexceptã§ã¯ã©ã®äŸå€ãåŠçããã®ãæå®ã§ãã
ãšãããšããã«æ³šç®ããŸãã
å³2ïŒç»é¢ã§ã¯å¹ŽãšæãéžæããŸããããµãŒããŒåŽã§ã¯åãåã£ãå€ã
int()ãžå€æããæ³å®å€ã®å€ãæ¥ãå Žåã«ãåããŠããŸãã
4. ð¡ïž tryãšã¯ïŒ
次ã¯ã
try
ã§ãã
å®ã³ãŒããããäžåºŠèŠãŠã¿ãŸãã
try:
year = int(request.form.get("year"))
month = int(request.form.get("month"))
try ã®äžã«ã¯ã
å®è¡ããŠã¿ãåŠç
ãæžããŸãã
ä»åãªãã
ãã©ãŒã ããyearãååŸ
â
intãžå€æ
ãã©ãŒã ããmonthãååŸ
â
intãžå€æ
ã§ãã
ã€ã¡ãŒãžãšããŠã¯ã
try
ããŸãããã®åŠçããã£ãŠã¿ããã
ã§ãã
ð¹ãtryã£ãŠããã®ãŸãŸâ詊ãâã£ãŠæå³ãªãã ããã
åé¡ãèµ·ããªããã°ïŒ
äŸãã°ã
year = "2026"
month = "9"
ã®ããã«ãæŽæ°ãžå€æã§ããå€ãªãã
int("2026")
int("9")
ãšããŠåŠçã§ããŸãã
ãã®å Žåã¯ã
try
â
åé¡ãªã
â
ãã®ãŸãŸæ¬¡ã®åŠçãž
ãšé²ã¿ãŸãã
tryã¯ifæãšã¯å°ãéã
ããã§ããããŸã§åŠãã if æãšæ¯ã¹ãŠã¿ãŸãã
if ã¯ã
if month < 1 or month > 12:
ã®ããã«ã
æ¡ä»¶ãTrueãFalseã
ã確èªããŠåŠçãåããŸããã
äžæ¹ãtry ã¯ã
try:
month = int(...)
ã®ããã«ã
åŠçãå®è¡ããŠããã®éäžã§äŸå€ãèµ·ããã
ãæ±ã£ãŠããŸãã
if
â
æ¡ä»¶ãèŠã
try
â
åŠçãå®è¡ããŠã¿ã
䌌ãŠããããã§åœ¹å²ãéããŸãã
ð¹ãifæã§å šéšç¢ºèªãããããããªããã ãã
ããããå®ã³ãŒããèªãã§ãããšéããèŠããŠããŸãã
5. ð exceptãšã¯ïŒ
try ã®åŠçäžã«äŸå€ãçºçããå Žåã
ãã®äŸå€ãåãåãã®ãã
except
ã§ãã
å®ã³ãŒãã§ã¯ã
try:
year = int(request.form.get("year"))
month = int(request.form.get("month"))
except (TypeError, ValueError):
logger.warning("Rejected product update with invalid year or month.")
return "幎æãæ£ãããããŸããã", 400
ãšãªã£ãŠããŸãã
æµãã«ãããšã
try
â
yearãšmonthãintãžå€æãã
â
æå
â
ãã®ãŸãŸåŠçãç¶ãã
ãŸãã¯ã
try
â
yearãšmonthãintãžå€æãã
â
TypeError / ValueErrorãçºç
â
except
â
èŠåãã°ãæ®ã
â
ã幎æãæ£ãããããŸãããã
â
HTTP 400ãè¿ã
ãšãªããŸãã
ð¹ã倱æãããã¢ããªããã®ãŸãŸçªã£èµ°ãããããªããŠãå¥ã®éãžè¡ãã®ããã
ãããªã€ã¡ãŒãžã§èªããšåããããããã§ãã
exceptã®ã«ãã³ã¯äœïŒ
ä»åã®ã³ãŒãã§ã¯ã
except (TypeError, ValueError):
ãšãªã£ãŠããŸãã
ãã®ã
(TypeError, ValueError)
ã¯ã
TypeError
ãŸãã¯
ValueError
ããŸãšããŠæå®ããŠããŸãã
ã€ãŸããã©ã¡ãããèµ·ãããã
except
ã®äžãžé²ã¿ãŸãã
returnããŸãç»å Ž
ãã㊠except ã®äžã«ã¯ã
return "幎æãæ£ãããããŸããã", 400
ããããŸãã
ð¹ãä»åºŠã¯3æéç®ã®returnïŒã
ãŸãåã®ææ¥ã«ã€ãªãããŸããã
äŸå€ãèµ·ãã
â
exceptãžå
¥ã
â
return
â
ããã§çµæãè¿ããŠåŠçãçµãã
ãšããæµãã§ãã
3æéç®ã§ã¯ã
return
ãã
颿°ããçµæãè¿ãããã®é¢æ°ã®åŠçãçµãã
ãã®ãšããŠåŠã³ãŸããã
4æéç®ã®äŸå€åŠçã§ãåã return ã䜿ãããŠããŸãã
ð¡ ãããŸã§ã®ææ¥ããŸãéãŸã£ãŠãã
ä»åã®å®ã³ãŒãã
try:
year = int(request.form.get("year"))
month = int(request.form.get("month"))
except (TypeError, ValueError):
return "幎æãæ£ãããããŸããã", 400
ãèŠããšã
int
â
1æéç®ïŒããŒã¿å
request.form.get(...)
â
å€ãååŸãã
try / except
â
4æéç®ïŒäŸå€åŠç
return
â
3æéç®ïŒé¢æ°ããçµæãè¿ã
ãšã以ååŠãã ãã®ãäžç·ã«äœ¿ãããŠããŸãã
ð 5ã€ãå šéšã€ãªããŠã¿ã
ä»ååŠãã ã
ã¢ãžã¥ãŒã«
import
äŸå€
try
except
ããå®ã³ãŒãã®æµããšããŠã€ãªããŠã¿ãŸãã
ãŸãã3æéç®ã§äœ¿ã£ã颿°ã¯ã
prompts.py
ã«ãããŸãã
def build_sales_prompt(sales_summary: str) -> str:
...
ãããã
from prompts import build_sales_prompt
ã§ app.py ãžåã蟌ã¿ãŸãã
ãããŠã
build_sales_prompt(...)
ãšããŠäœ¿ããŸãã
prompts.py
â
ã¢ãžã¥ãŒã«
â
from prompts import ...
â
import
â
app.pyãã颿°ã䜿ã
äžæ¹ãååç»é²ã§ã¯ã
try:
year = int(request.form.get("year"))
month = int(request.form.get("month"))
except (TypeError, ValueError):
return "幎æãæ£ãããããŸããã", 400
ãšãªã£ãŠããŸãã
ãã¡ãã¯ã
åŠçãå®è¡ãã
â
try
â
åé¡ãèµ·ããå¯èœæ§ããã
â
äŸå€
â
ç¹å®ã®äŸå€ãèµ·ãã
â
except
â
å¥ã®åŠçãè¡ã
ãšããæµãã§ãã
ð¹ãimportã®è©±ãštryã»exceptã£ãŠãæåã¯å¥ã ã«èŠãããã©âŠâŠãã
ä»åã®ããŒããäžèšã§ãŸãšãããšã
ããã°ã©ã ãè€æ°ã®éšåã«åããŠäœ¿ããæ³å®å€ã®åé¡ã«ãåãã
ãšãã話ãªã®ãããããŸããã
ðž ç»é¢ãšã³ãŒããã€ãªããŠã¿ã
å©çšè ããèŠãã°ã
ååç»é²ç»é¢ã§
å¹Žãšæãéžã¶
â
ç»é²ãã
ãšããæ®éã®æäœã§ãã
ã§ããã®è£åŽã§ã¯ã
ãã©ãŒã ããå€ãåãåã
â
intãžå€æãã
â
tryã§åŠçãã
â
åé¡ãããã°exceptãž
â
é©åãªå¿çãè¿ã
ãšããåŠçããããŸãã
åãããã«AIã¢ããã€ã¹ãã
ãã¿ã³ãæŒã
â
AIã¢ããã€ã¹ã衚瀺ããã
ãšããäžã€ã®æ©èœã«èŠããŸãã
ã§ãã³ãŒããèŠããšã
prompts.pyã«é¢æ°ããã
â
app.pyããimportãã
â
颿°ãåŒã³åºã
â
AIãžéãããã³ãããäœã
ãšããè€æ°ã®ãã¡ã€ã«ã®ã€ãªããããããŸãã
ç»é¢ã ãã§ã¯èŠããªãã£ãåŠçãã
Pythonã®åºç€ãåŠã³çŽãããšã§å°ããã€èŠããããã«ãªã£ãŠããŸããã
ð§ çŸåšGuest Demoã¯éçºéäžã§ã
çŸåšã® sales_data_app ã¯ãGuest Demoæ©èœããŸã éçºããŠããéäžã§ãã
ãã®ãããçŸæç¹ã§ã¯èªè ã®æ¹ãèªç±ã«æäœã§ãããã¢ç°å¢ã¯ãŸã å ¬éããŠããŸããã
Guest Demoã宿ãããã
å®éã«ç»é¢ãæäœãã
â
ç»é¢ã®è£åŽã«ããåŠçãèªã
â
Pythonåºç€ãšã€ãªãã
ãšãã確èªãããã®ã·ãªãŒãºã«è¿œå ããŠãããããšæã£ãŠããŸãã
ð 4æéç®ãŸãšã
ä»åã¯ãsales_data_app ã®å®ã³ãŒãããã
ã¢ãžã¥ãŒã«
Pythonã®åŠçããã¡ã€ã«ããšã«åããŠæ±ãã
prompts.py
config.py
app.py
import
å¥ã®ã¢ãžã¥ãŒã«ã«ããæ©èœã䜿ããããã«ããã
from prompts import build_sales_prompt
import config
äŸå€
åŠçäžã«åé¡ãèµ·ããããšãPythonãç¥ãããä»çµã¿ã
ValueError
TypeError
ãªã©ãäŸå€ã«ãçš®é¡ããããŸãã
try
äŸå€ãèµ·ããå¯èœæ§ã®ããåŠçãå®è¡ããã
try:
year = int(...)
except
æå®ããäŸå€ãèµ·ããå Žåã®åŠçãæžãã
except (TypeError, ValueError):
å®éã®ã³ãŒãã§ã¯ã
å¥ãã¡ã€ã«ãžåŠçãåãã
â
importããŠäœ¿ã
ãããŠã
åŠçãå®è¡ãã
â
äŸå€ãçºçããå¯èœæ§
â
try / exceptã§å¯Ÿå¿ãã
ãšãã圢ã§äœ¿ãããŠããŸãã
ãããŠä»åãã
int
if
颿°
return
ãªã©ããããŸã§åŠãã Pythonåºç€ããŸãç»å ŽããŸããã
ð€ èªåã§ç¢ºèªããŠã¿ã
æåŸã«ãä»åã®å 容ãèªåã§ã確èªããŠã¿ãŸãã
Q1
prompts.py ã®ããã«Pythonã³ãŒããæžãããã¡ã€ã«ã¯ãä»åã©ã®ããã«æ±ã£ãã§ãããïŒ
A. ã¢ãžã¥ãŒã«
B. ãªã¹ã
C. åŒæ°
ð °ïžçããèŠã
A. ã¢ãžã¥ãŒã«
ã§ãã
prompts.py ã«ã¯ãAIãžæž¡ãããã³ãããäœã颿°ãæžãããŠããŸãã
Q2
次ã®ã³ãŒãã¯äœãããŠããã§ãããïŒ
from prompts import build_sales_prompt
ð °ïžçããèŠã
prompts ã¢ãžã¥ãŒã«ããã
build_sales_prompt
ãåã蟌ã¿ããã®ãã¡ã€ã«ãã䜿ããããã«ããŠããŸãã
Q3
次ã®ã
import config
ãšã
from prompts import build_sales_prompt
ã§ã¯ãäœãéãã§ãããïŒ
ð °ïžçããèŠã
import config
ã§ã¯ config ã¢ãžã¥ãŒã«ãåã蟌ã¿ãŸãã
äžæ¹ã
from prompts import build_sales_prompt
ã§ã¯ãprompts ãã build_sales_prompt ãšããååãåã蟌ãã§ããŸãã
Q4
次ã®ã³ãŒãã§ã
try:
year = int(request.form.get("year"))
try ã¯äœãããŠããã§ãããïŒ
ð °ïžçããèŠã
äŸå€ãçºçããå¯èœæ§ã®ããåŠçãã
ãŸãå®è¡ããŠã¿ã
éšåã§ãã
ä»åã®å Žåã¯ããã©ãŒã ããåãåã£ãå€ã int ãžå€æããŠããŸãã
Q5
次ã®ã³ãŒãã§ã¯ã
except (TypeError, ValueError):
äœãæå®ããŠããã§ãããïŒ
ð °ïžçããèŠã
TypeError
ãŸãã¯
ValueError
ãçºçããå Žåã®åŠçãæå®ããŠããŸãã
Q6
äŸãã°ã
int("abc")
ã®ããã«ãæŽæ°ãšããŠå€æã§ããªãæååã int() ãžæž¡ããå Žåã«çºçããå¯èœæ§ãããäŸå€ã¯ã©ãã§ãããïŒ
A. ValueError
B. for
C. import
ð °ïžçããèŠã
A. ValueError
ã§ãã
Q7
次ã®åŠçã§äŸå€ãèµ·ããå Žåã
try:
year = int(request.form.get("year"))
month = int(request.form.get("month"))
except (TypeError, ValueError):
return "幎æãæ£ãããããŸããã", 400
æçµçã«ã©ããªãã§ãããïŒ
ð °ïžçããèŠã
TypeError ãŸã㯠ValueError ãçºçãããšã
except
ã®äžãžé²ã¿ã
return "幎æãæ£ãããããŸããã", 400
ã«ãã£ãŠHTTP 400ã®å¿çãè¿ããŸãã
ð¹ 4æéç®ãçµããŠ
ä»åã¯ã
ã¢ãžã¥ãŒã«ã»importã»äŸå€ã»tryã»except
ãåŠã³çŽããŸããã
3æéç®ã§ã¯ã
def build_sales_prompt(...):
ãèŠãŠã
颿°ãã©ãäœã£ãŠãã©ãåŒã³åºãã®ã
ãåŠã³ãŸããã
4æéç®ã§ã¯ããã®é¢æ°ãã
prompts.py
ãšããå¥ã®ãã¡ã€ã«ã«ããã
from prompts import build_sales_prompt
ã«ãã£ãŠã
app.py
ãã䜿ãããŠããããšãŸã§ã€ãªããããšãã§ããŸããã
颿°ãäœã
â
å¥ã®ã¢ãžã¥ãŒã«ãžçœ®ã
â
importãã
â
åŒã³åºã
ãšããæµãã§ãã
ãããŠããäžã€ã
try:
...
except (...):
...
ããã
åŠçãå®è¡ãã
â
æ³å®å€ã®åé¡ãèµ·ãã
â
äŸå€ãçºç
â
exceptã§å¯Ÿå¿ãã
ãšããæµããèŠãŸããã
ð¹ãã³ãŒãã£ãŠãæ£åžžã«åããšãã®ããšã ãæžããŠããããããªããã ããã
ãããä»åã®åŠã³çŽãã§å€§äºãªãšããã ãšæããŸãã
ã¢ããªã䜿ãåŽããèŠããšã
ååãç»é²ã§ãã
AIã¢ããã€ã¹ãèŠããã
ãšããæ©èœã«èŠããŸãã
ã§ãããã®è£åŽã«ã¯ã
ãã¡ã€ã«ãåãã
å¿
èŠãªæ©èœãimportãã
æ³å®å€ã®å€ã«åãã
äŸå€ãèµ·ããå Žåã®åŠçãæžã
ãšããã³ãŒãããããŸãã
ãããŠä»åãã
int
if
颿°
return
ãªã©ã以ååŠãã å 容ããŸãç»å ŽããŸããã
æ°ããåºç€ãåŠã¶
â
åã®ææ¥ã®åºç€ããŸãåºãŠãã
â
éãå Žé¢ã§äœ¿ãããŠãã
â
å°ããã€ã€ãªãã
ä»åããã®ç¹°ãè¿ãã§ãã
ð¹ã4æéç®ãŸã§æ¥ããã©ã1æéç®ã§æã£ã穎ããŸã ç¶ããŠãããã
ãã¡ãããä»åãèšäºãæžããã ãã§ã
ãäŸå€åŠçãçè§£ããïŒã
ãšã¯èããŸããã
ããããã³ãŒããèªãã§ããŠã
import
ãèŠã€ãããã
äœãåã蟌ãã§ãããã ããïŒ
ã©ãã§äœ¿ã£ãŠãããã ããïŒ
ãšèããã
try:
ãèŠã€ãããã
ããã§ã¯äœã倱æããå¯èœæ§ããããã ããïŒ
ãšèããã
except
ãèŠã€ãããã
ã©ããªäŸå€ãåãåã£ãŠãããã ããïŒ
èµ·ãããã©ããããã ããïŒ
ãšèããã
ãããªèªã¿æ¹ãå°ããã€ã§ããã°ã以åããå®ã³ãŒãã®èŠãæ¹ãå€ãã£ãŠãããã§ãã
ãŸã ãŸã åºç€ã®åŠã³çŽãã¯ç¶ããŸãã
æ¬¡ã®æéããð sales_data_app ã®å®ã³ãŒããææã«ããŠæã£ãŠãããŸãð¹
ðïž åºç€åŠç¿ã·ãªãŒãº
ð«1æéç®
ã倿°ã»ããŒã¿åã»æ¯èŒæŒç®åã»ifæãšã¯ïŒã
ð«2æéç®
ããªã¹ãã»èŸæžã»setã»foræãšã¯ïŒã
ð«3æéç®
ã颿°ã»åŒæ°ã»returnã»é¢æ°ã®åŒã³åºãã»åãã³ããšã¯ïŒã
ð«4æéç®
ãã¢ãžã¥ãŒã«ã»importã»äŸå€ã»tryã»exceptãšã¯ïŒã


