
çæAIã§æè³æ²ç€ºæ¿åæ BOTäœæ ïœAIèŠçŽã§è¶ æçå¹çæ å ±åéã§äžæ©ãªãŒã! (Dify x Gemini x Discord)ïœ #1 ååã®ããããããããŒã¿ããŒã¹åãåæã®ã¯ãŒã¯ãããŒåãŸã§
ããã«ã¡ã¯ãRcatã§ãã
ãªããã¿ã€ãã«ããã£ã¡ãé·ãã§ãããä»åã¯äžèšèšäºã®ç¶ãã§ãã
ãã®æ¬¡ãããã§BOTé
åžã«ããããšèããŠããŸãã
é åžã¯ãã¡ã
DIfyç³»ç®æ¬¡èšäº
Discordã®botã®æ¹ãçµã¿äžãã£ããšããã§èšäºãæžãããšæã£ãã®ã§ããã仿§ã倿Žãããã¡ã«ã ãã ãåéãã€ããªããªã£ãŠããŠããŸããŸããŠãä»åäžæŠä»åãçŽãããšæããŸãã
ååãŸã§ã®å
容ãšéãªããšããããããŸããããäºæ¿ãã ããã
次åã¯ãã¡ã
æ¬ã·ãªãŒãºã¯ãã¡ã
ãã®èšäºã§ããããšãšãããã
çºç«¯
ããŠããŸãã¯ãã®èšäºãåããŠèŠãæ¹åãã«ããããšã説æããŸãã
äžèšã§ãŸãšãããšæè³ã«é¢ããæ
å ±åéãšåæã®èªååãç®çã§ãã1ã€ã®éæã ãã§ããã°å€§ããæéã§ã¯ãããŸãããããããã«ãããªããšãããŠã人ã¯ããªãã§ããããããã«ããããªæ
å ±ãä»å
¥ããŠãããæ¹ãäžã®äžã®æµããåãã£ãŠããã®ã§ãæå€ãšä»ã§åœ¹ã«ç«ã£ããããŸãã
æ å ±åéã«ã€ããŠ
ã§ã¯ã©ããã£ãŠæ
å ±ãåéããŸããããïŒ
æ¯æ¥éæåã§æ€çŽ¢ããŠãã¥ãŒã¹èŠãŸããïŒ
Xã§æ
å ±ãæ¢ããŸããïŒ
ããã©ãããã§ããã
ããããããšããã仿µè¡ãã®ããã¹ãçæAIã«ããããã¹ãã§ãã
ããã¹ãçæAIã¯æç« ã®èŠçŽãªããŠãæã®ãã®ã§ããäžæ°ã«æ
å ±çªã£èŸŒãã§åæãããã°ããã ãã§ããæ¥œã«ãªããŸããã
ã§ã¯ãã©ããã£ãŠæ å ±ãä»å ¥ãããã§ãããã€ã³ã¿ãŒãããæ²ç€ºæ¿ããRSSã§ä»å ¥ããŸã
å ·äœçãªä»æ§
ä»åå¶äœãããã®ã®ä»æ§ãããã§ç޹ä»ããŠãããŸãã
ãªããªãã«çãã ãããã®æ©èœã§ãã
ãšããããã·ã¹ãã ã®é¢ä¿æ§ãå³ã«ãããšä»¥äžã®ããã«ãªããŸãã
ããããå
ã®èª¬æã§ã¯ãã®é¢ä¿æ§ãåæãšãªããŸãã®ã§ãèŠããŠãããŠãã ããã

æŠèŠ
ã€ã³ã¿ãŒãããæ²ç€ºæ¿ããæ å ±ãåéããåæãè¡ãAIãã£ãããããã
æ©èœ
ã€ã³ã¿ãŒãããæ²ç€ºæ¿ç£èŠæ©èœ
æ²ç€ºæ¿ãç£èŠããŠãæ°èŠã³ã¡ã³ããããŒã¿ããŒã¹ã«èç©ããŸããæ å ±ã®ã©ã³ã¯ä»ãæ©èœ
ããŒã¿ããŒã¹ã«èç©ããæ å ±ã®æçšåºŠããAIã䜿ã£ãŠã¬ãã«åãããŸãã
ã³ãã³ãèªåæ€åºæ©èœ
ãã£ããã§å ¥åãããã¡ãã»ãŒãžãã³ãã³ããšããŠèªèããæ©èœã
å³å¯ãªãã©ãŒãããã«åã£ãã³ãã³ãã§ã¯ãªãããåæããŠãã®ãããªå ¥åã§å®è¡ã§ããããã«ãªããŸããã³ã¡ã³ãåææ©èœ
Geminiã䜿çšããŠ100ä»¶çšåºŠã®éèŠãªã³ã¡ã³ãããåžå ŽãåæããŸãã
ãã¥ãŒã¹èç©æ©èœã§ãã¥ãŒã¹ãã€ã³ããããããŠããå Žåã¯ãããèæ ®ãããŸãã(Difyãªã®ã§LLMã¯å€æŽå¯èœ)æçš¿ä»¶æ°ç£èŠæ©èœ
æçš¿æ°ãšæŽæ°ééãAIã§åæããä»çãäžãã£ãŠããæ²ç€ºæ¿ãå€å®ããç°¡åãªåæãåžžæèªåã§è¡ããŸãã(1H眮ã)åæè¿ä¿¡æ©èœ
åæçµæã«è¿ä¿¡ããããšã§ã远å ã®è³ªåãè¡ããæ©èœãåãããªãèšèãªã©ã¯ãã®å Žã§è¿ä¿¡ããŠGeminiã«èãããšãã§ããŸãã
ç»åèªèæ©èœ
ã¹ããŒããã©ã³ã®ã¹ã¯ãªãŒã³ã·ã§ãããªã©ãã¢ããããŒãããæ å ±ãšããŠèç©ããŸããåå¥éæãã¥ãŒã¹èç©æ©èœ
ispeedãªã©ãæè³ç³»ã¢ããªã®ã¹ã¯ãªãŒã³ã·ã§ãããã¢ããããŒãããããšã§æååã«å€æåŸAIã«ãŠåæä¿ç®¡ããŸãã
䜿çšããããã°ã©ã ç°å¢
ãã£ããããã
Dify
ãªãªãžãã«ã®ãã£ããããããäœãããšãã§ãããªãŒãã³ãœãŒã¹ãœãããŠã§ã¢ã§ãã䜿ãAI(LLM)ã¯ãGoogleã®Geminiåæã§ããã人ã«ãã£ãŠã¯GPT4ããã®ä»ã®ã¢ãã«ã䜿ããªã©ãå¯èœãGemini
Googleã®éçºããŠããå€§èŠæš¡èšèªã¢ãã«ã§ãã
å€å°ã®ã¬ãŒãå¶éã¯ãããŸãããååç¡æã§äœ¿ãããšãã§ããŸããDiscord
ã²ãŒããŒçšãã£ããã¢ããªã§ããªãã¿ã®ãã£ããã¢ããªã§ãã
BOTã¢ã«ãŠã³ããç°¡åã«äœæã§ããå¶åŸ¡ããããã®Pythonã©ã€ãã©ãªãå ¬éãããŠããããæ¡çšã
ããã°ã©ã èšèª
Python
ããŒã¿ããŒã¹
Mysql
é¢ä¿ããŒã¿ããŒã¹ãååŸããã³ã¡ã³ãã®èç©ã«äœ¿ããŸãã
å®è¡ç°å¢
Ubuntu(Linux)
å¥ã®èšäºã§ç޹ä»ããŠãã24æé皌åPCã䜿çšããŸãã
äºåæºå
æ¬äœãå©çšããã«ããã£ãŠå¿ èŠãªå®è¡ç°å¢ãæŽããŸãã
Difyã®ã»ããã¢ãã
ãªãªãžãã«ã®AIãäœãããã®ãœãããŠã§ã¢ã§ãã
é
åžããŠããããŒã¿ãã€ã³ããŒãããããšã§ããèªèº«ã®ç°å¢ã§ç«ã¡äžããããšãã§ããŸãã
詳现ã¯äžèšã®èšäºãã確èªãã ããã
ããŒã¿ããŒã¹ã®ã€ã³ã¹ããŒã«
ä»åã¯ããŒã¿ã®èç©ã«ããŒã¿ããŒã¹ã䜿ããŸãã
ç§ãåããŠäœ¿çšããŸãããšãããã䜿ã£ãŠã¿ããšããèšäºãæžããŠã¿ãã®ã§ãåèã«ã€ã³ã¹ããŒã«ã ãããŠãã ããã
ããŒã¿ããŒã¹ã®äžèº«ã¯ç©ºã£ãœã§å€§äžå€«ã§ãã
Pythonã®æºå
仿ã®Linuxãªã3ç³»ã¯æšæºæèŒã ãšæãã®ã§ç¹ã«èšåã¯ããŸããã
å¿
èŠã©ã€ãã©ãªãªã©ã¯é
åžããŠãããœãŒã¹ã®äžã«ãªã¹ããå
¥ããŠãããŸãã
解説
ããŠããããªãã§ããæ¬¡ã®äºé ã«é¢ããŠã¯ååã®èšäºã§ã確èªãã ããã
æ²ç€ºæ¿ããã®æ å ±ååŸã«ã€ããŠ
Difyã®åºæ¬æäœ
ããŒã¿ããŒã¹ãžã®èç©ãšæ å ±ã®æ¯ãåã
ååã®èšäºã§æ
å ±ã®ååŸã«ã€ããŠã¯è§£èª¬ããŠããããã®éšåã«ã€ããŠã¯å
šã倿ŽããŠããŸããã
ãããããã®åŸã®æ
å ±ã®ä¿ç®¡æ¹æ³ãšã©ã³ã¯ä»ãã«ã€ããŠæ¹æ³ãå€ããã®ã§ããããã解説ãããŠãããŸãã
ããŒã¿ããŒã¹ã®äžèº«ã«ã€ããŠ
ãŸãã¯ããããããŒã¿ãä¿ç®¡ããããŒã¿ããŒã¹ã®æ§é ãã©ããªã£ãŠããã®ãã解説ããŸãã
ããŒã¿ããŒã¹ã¯äž»ã«2ã€ã®çš®é¡ããããŸãã
äžã€ç®ãã¡ã€ã³ã®éæããšã®æ²ç€ºæ¿ããŒã¿ããŒã¹ã§ããããã«ã³ã¡ã³ããªã©ã®æ
å ±ãèç©ããŠãããŸãã
ããäžã€ãããªãåŸã®ç޹ä»ã«ãªããšæããŸããããã¥ãŒã¹ã®ããŒã¿ããŒã¹ã§ãã
åå¥éæããšã®ããŒã¿ããŒã¹ã®äžã«ã¯2ã€ã®ããŒãã«ããããŸãã
äžã€ç®ã¯åºæ¬æ
å ±ãšã¹ããŒã¿ã¹ãå
¥ã£ãŠããã ãã®ããŒãã«ã
ããäžã€ãã¡ã€ã³ã®ã³ã¡ã³ããèç©ããããŒãã«ã§ãã

åºæ¬æ
å ±ãã¹ããŒã¿ã¹ã®ããŒãã«ã«é¢ããŠã¯ä»¥äžã®ããã«ãªã£ãŠããŸãã
ååãšURLãæçµæŽæ°æ¥æã次åã®æŽæ°ç§æ°ãæ¬æ¥ã®æŽæ°ä»¶æ°ãå
¥ã£ãŠããŸãã

ã³ã¡ã³ãã®ããŒã¿ããŒã¹ã«ã€ããŠã¯æ¬¡ã®ããã«ãªã£ãŠããŸãã
æ¥ä»ãå
容ãAIãã©ã°ãAIã¡ãã»ãŒãžã
ã³ã¡ã³ããååŸããç¬éã«æåã®2ä»¶ã«é¢ããŠã¯æžã蟌ãŸããŸãã
ãããŠãããŒã¿ããŒã¹åãããã€ã³ãã¯æçš¿ãçµã蟌ãŸãªããŠããã©ã°ã§æçšäžèŠåããããšãã§ãããšããããšã§ãã
ããã§èšãAIãã©ã°ã0ã¯æªåŠçã®ç¶æ
ã1ãæçšã§2ãéåžžã3ãäžèŠã§ãã
AIã¡ãã»ãŒãžã¯ã©ãããŠãã®æ¯ãåãã«ããã®ãã®çç±ãåºåãããŠããŸãã
æ£çŽãŸã çãæ°ãããŸãããã»ãšãã©ã®ã©ãã§ãããæçš¿ã¯ãã£ãŠãããã®ã§ããã®åŸã®èå¯ãæ·±ããã®ã«ãªããŸãã

ããŒã¿ããŒã¹ãžã®ã³ã¡ã³ãæžã蟌ã¿
ããŠãããããã¯ããŒã¿ããŒã¹ãžã®ã³ã¡ã³ãã®æžãèŸŒã¿æ¹æ³ã«ã€ããŠèŠãŠãããŸãã
æžã蟌ã¿ã«ã€ããŠã¯ãç¹ã«é£ããããšãããŠããããã§ã¯ãããŸããã
ã³ã¡ã³ãã®åã ãã«ãŒãã§mysqlã®ã¯ãšãªãå®è¡ããŠããã ãã§ãã
ãã®æã¯ãŸã åŠçããŠããªãæ
å ±ãããã®ã§ããã®éšåã«ã¯ããã©ã«ãã®æ°å€ãå
¥ããŠããŸãã
â»ãœãŒã¹ã³ãŒãå ã®æ å ±ãäŒããããŠãããã®ã¯ããœãŒã¹ã³ãŒãã®ããŠã³ããŒããããŠããã ãå¿ èŠããããŸãã

æ¥ç¶ã«äœ¿ã£ãŠãã"DataBase_conf"ã¯æ¬¡ã®ããã«ãªããŸãã
ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹æã«ãã®èŸæžãäœæãããæ£åžžã«æ¥ç¶ã§ããå Žåãæäžè¡ã®éšåãèŸæžã®äžã«åã蟌ãŸããŸãã

AIã«ããæ å ±ã®æ¯ãåã(ããŒã¿ããŒã¹ç)
ååã®èšäºã§ãæ å ±ã®æ¯ãåãã¯è¡ããŸããããããŒã¿ããŒã¹åã«ããããæ¹ã倿ŽããŸããã
ãŸãã¯PythonåŽã®äžé£ã®åŠçã§ãã
æåã«ããŒã¿ããŒã¹ããAIã«è©äŸ¡ã®ããŒã¿ãååŸããŸãã
ãã®ããŒã¿ãé£çµããŠAIã«æããããã®ããã¹ããäœæããŸãã
AIããã®å¿çã確èªãããã©ã°ãæžã蟌ãã§ãããŸãã

ããã§ã®æå€§ã®å·¥å€«ãã€ã³ãã¯AIã®åºåãå€ããããšã§ãã
ååã¯ãäœèšãªæçš¿ãçããŠãã以å€ããã®ãŸãŸåºåããŠãããããã«ããŠããŸããã
ããããããŒã¿ããŒã¹ã§ã¯åè¡ã«IDãã€ããŠããã®ã§ããã§èå¥ããããšãã§ããŸãã
ãšããããã§ãAIã®å¿çã¯ãIDããã©ã°ãçç±ããšãŠãã³ã³ãã¯ãã«ãŸãšããããŸããã
äŸãã°ã以äžã®ãããªå¿çãåŸãããšãã§ããŸãã
æçš¿ã¬ãã«ãã奜ã¿ã§èª¿æŽããããšã§ããã£ã«ã¿ãªã³ã°åŒ·åºŠã¯å€æŽã§ãããã§ããã

ããã³ããã«ã€ããŠ
åºåã®å
容ã倿Žããã®ã§ãããã³ããã«é¢ããŠã倧å¹
ã«å€æŽããŸããã
ä»åã¯ä»¥äžã®ãããªããã³ããã«ããããšã§ãã»ãŒç®çã®åœ¢åŒã§åºåãããããšãç¢ºèªæžã¿ã§ãã

ã¯ãŒã¯ãããŒã䜿ã£ãŠåæãã
åæã®éšåã«é¢ããŠãããŒã¿ããŒã¹åã«ããããæ¹ãå€å°å€ãã£ãã®ã§å床簡åã«è§£èª¬ããŸãã
åæãè¡ã颿°ã¯ä»¥äžã®ããã«ãªã£ãŠããŸãã
ãã©ã°ãã€ããæãšåãèŠé ã§ã³ã¡ã³ããååŸããŸãã
ååŸããã³ã¡ã³ããããšã«ããã³ãããäœæã
ã¯ãŒã¯ãããŒã䜿ã£ãŠåæéå§ã
åŒæ°ã«å¯ŸããŠæ£èŠè¡šçŸãããŠãçç±ã¯æ¬¡é
ã

AIã«ããåæã®éšåã§ãããä»åDifyã®ç®çæ©èœã§ããã¯ãŒã¯ãããŒã䜿ã£ãŠã¿ãŸããã
å
·äœçã«ã¯ããã¥ãŒã¹ã®æ
å ±ãèæ
®ããŠåæãè¡ãããã«ãåŸãããã¥ãŒã¹ã®æ
å ±ãåãã«è¡ãåŠçã远å ãããŠããŸãã

ãã®åŠçã¯ããã€ãã®ã¹ãããã«åãããŠãã
æåã®ã¹ãããã¯ããŒã¿ããŒã¹ã®éæåã®ååŸã§ããããŒã¿ããŒã¹ã®ååãããããªããšããã¥ãŒã¹ã«ã¢ã¯ã»ã¹ã§ããªãã®ã§ãååãååŸããŸãã
次ã«å
¥åãããæ²ç€ºæ¿ãã©ã®éæã®ãã®ãªã®ãæšè«ããŸãã
ãããŠéæåãåãã£ããã¥ãŒã¹ãååŸããŸãã
ãã€ã³ããšããŠã¯httpãªã¯ãšã¹ãã®ãªã¯ãšã¹ãå
ããã®botã§ããããšã§ãããããèªäœãããŒã¿ããŒã¹ã管çããŠããã®ã§ããã®äžã«httpãµãŒããŒãçŽã蟌ãŸããŠãå€éšããã®ã¢ã¯ã»ã¹ãå¯èœã«ããŠããŸãã
ããããããšã§ãåŸããæ
å ±ã®è¿œå ãè¡ãããšãã§ããŸãã
ã¡ãªã¿ã«åŒæ°ãã€ããŠå®è¡ããã°ã¢ãã«ã倿Žããããšãã§ããããã«ããŠããŸããGemini1.5ã¯äœ¿çšåæ°ãéãããŠããã®ã§ã䜿ããããã1.5Flashã«åãæ¿ãããªã©å¯Ÿå¿ãã§ããŸãã
AIã䜿ã£ãåææç€º
ãœãŒã¹ã³ãŒãããã£ããèŠãŠããã ããæ¹ã¯çåã«æã£ããããããŸããããã€ã³ãããã®åŒæ°ãããããæ£èŠè¡šçŸã«ãããŠãã§ãã¯ããŠããå Žé¢ããããã§ããããããªããŠããšãããšå¿ ããããããªã£ãŠãããšã¯éããªãããã§ããå ·äœçã«ã¯ããAIã«å ¥åãããŠããã§ãã
ã³ãã³ãæç€ºãããã£ããæç€ºãž
以äžã¯ååã®èšäºã§ç޹ä»ããæç¹ã®botã®æåã§ãã
ç§ããã®æç€ºã"ai"ã«ãªã£ãŠããŸããããã¯AIã³ãã³ãã€ãŸãåæãããšããæå³ã§ãããã®åŸã«åŒæ°ãå
¥åããããšã§ãªãã·ã§ã³ãã€ããããšãã§ãããã§ãããããã©ãããã§ãããã

ãããä»åã®ãããã®æåã§ãã
ç§ããã®æç€ºã"åæ"ã«å€ãã£ãŠããŸãã
å®ã¯ããå
¥åãããå
容ãAIã«æž¡ããŠã³ãã³ãã«å€æããŠããã£ãŠããã§ãã

ããã«ãããæ¬¡ã®ãããªæç€ºã®ä»æ¹ãã§ããããã«ãªããŸãã
ãæçšãªæ
å ±ã§åæ ç€ŸäŒæ
å¢ã«ã€ããŠå¥éãŸãšããŠã
ãã®æç€ºãã³ãã³ãã«è¡šããšæ¬¡ã®ããã«ãªããŸãã
"ai level=1 appendix=ç€ŸäŒæ
å¢ã«ã€ããŠå¥éãŸãšããŠ"
æçšãªæ
å ±ã§ãšèšã£ãŠããã®ã§ãæ
å ±ã¬ãã«ã1ã«ããŠãããŠããŸãã
ç€ŸäŒæ
å¢ã«ã€ããŠãŸãšããŠãšèšã£ãŠããã®ã§ãappendixã«ãã®ãŸãŸè¿œå ãããŠããŸãã
åºåã«é¢ããŠã¯ä»¥äžã®éãã§ãã
çµæ§èããŠããæ²ç€ºæ¿ã§ããã«ãããããããæçš¿ã®ã¹ãã³ãåºãã®ã§ãç¡é§ãªæ
å ±ãå®å
šã«çããŠããããšãããããŸãã
ãŸããç€ŸäŒæ
å¢ã«ã€ããŠãšããé
ç®ãäœã£ãŠãããŠãããšããããããã®èŸºãèæ
®ããŠãããŠããããšãããããŸãã

ã¡ãªã¿ã«ãã®æã®ãã³ãã³ãèªèã®åºåã¯ä»¥äžã®éãã§ãã

ã³ãã³ãåå²çšã®ããã³ããã¯æ¬¡ã®éãã§ãã
ããã§ã¯æçš¿ã®æ¯ãåããæãšéããJSONã§åºåããé¡ãããŠããŸãã
ããªããã€ããæç€ºããã°ãã¡ããšJSONã§åž°ã£ãŠããŸãã

ãã€ã³ããšããŠã¯ã³ãã³ãäžèŠ§ãæžããŠãããããããã®åŒæ°ã®æå³ãå¿
é ä»»æãŸã§çްããæžããŠãããšããã§ãã
Difyã®è³ªååæ©åšã䜿ã£ãŠãããã£ãã®ã§ãããããã䜿ããšåŒæ°ã®éšåãŸã§åŠçã§ããªãã®ã§èªåã§æžããŠã¿ãŸãããããšæå€ãšããŒã¯ã³äœ¿ãã®ã§âŠã
ãã®æ©èœã¯æ¹é ã®åææ®µéã§ã€ããæ©èœãªã®ã§ããããã®æ¹ã«åãŸã£ãŠããŸãããããããšæãã°å€§ããã®ã¯ãŒã¯ãããŒãäœã£ãŠå
¥ããããšãã§ãããã§ããã
äžæŠãŸãšã
ä»åã¯æ
å ±ãœãŒã¹ã®ãããããšåŠçã®ããŒã¿ããŒã¹åã«ã€ããŠèŠãŠãããŸããããŸããåæã«ã€ããŠãã¯ãŒã¯ãããŒã䜿ã£ãŠããã«åŒ·åããŸããã
æ©èœé¢ã§ã¯ãŠãŒã¶ãŒããã®æç€ºããã£ãã圢åŒã§åãä»ããããããã«ãäºåã«AIãããŸããããã«å€æŽããŸããã
ãªãããã®èŸºã®åŠçã«é¢ããŠã¯ãããã®ãœãŒã¹è§£èª¬ã®æ¹ã§è¡ã£ãŠãããã°ãšæããŸãã
次åã¯ããã¥ãŒã¹ã®æ å ±ã«ã€ããŠã®ç»åèªèãšbotã®äžèº«ã«ã€ããŠè§£èª¬ããŠãããŸãã
ããŒã¿ã®é åžã«ã€ããŠ
以äžã§é åžããŠããŸã