#181 èªåŸãããAIç¥çèŠå¡ãã®æ§ç¯ïŒOllamaãšNexus Flowããããããããžã¿ã«ã»ãœããªã³ïŒäž»æš©ïŒã®æ°æä»£
çŸä»£ç€ŸäŒã«ãããŠãç§ãã¡ã¯æ å ±ã®æŽªæ°Žã«åã¿èŸŒãŸããèªãã®ããŒã¿äž»æš©ãã¯ã©ãŠããã©ãããã©ãŒã ã«å§ãç¶ããŠããŸãã䟿å©ããšåŒãæãã«å€±ããããã©ã€ãã·ãŒããããŠãªãã©ã€ã³æã«é²åããã·ã¹ãã ã®è匱æ§ãããžã¿ã«ã©ã€ãã¹ã¿ã€ã«ã»ã¢ãŒããã¯ããšããŠãç§ã¯ãããçŸä»£ã®æªã¿ã解決ããäžã€ã®å®æãããè§£ãæç€ºããŸãã
ããããããŒã«ã«LLMïŒå€§èŠæš¡èšèªã¢ãã«ïŒã®éã§ãããOllamaããšãé«åºŠãªèªååãšã³ãžã³ãNexus Flowããæ žãšãããAIç¥çèŠå¡ãã§ããããã¯åãªãããŒã«ã®çµã¿åããã§ã¯ãããŸãããå人ã®ç¥ççæŽ»ãèªåŸçã«ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããããã®ãå ç¢ãªããžã¿ã«å»ºç¯ç©ãªã®ã§ãã
â1. ã¬ãžãªãšã³ã¹ã®åå®çŸ©ïŒGeminiããOllamaãžã®ç¡çž«è£œãªç¶æ¿
çã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã«ã¯ãã©ã®ãããªç¶æ³äžã§ã忢ããªããã¬ãžãªãšã³ã¹ïŒå埩åïŒããæ±ããããŸãããã®ã·ã¹ãã ã®AIãµãŒãã¹å±€ïŒsummarize.jsïŒã«ã¯ãã¯ã©ãŠããšãšããžãèåããããã€ããªããæŠç¥ãçµã¿èŸŒãŸããŠããŸãã
ã¡ã€ã³ãšã³ãžã³ãšããŠåŒ·åãªGemini APIãé ãã€ã€ãã·ã¹ãã ã¯åžžã«ããŒã«ã«ã®Ollamaãããã¯ã¢ãããšããŠåŸ æ©ãããŠããŸãã
ãGemini APIãå©çšäžå¯ããŸãã¯ãšã©ãŒã®å Žåã«èªåçã«ããŒã«ã«ã® Ollama ãžåãæ¿ãã
ãã®ãã©ãŒã«ããã¯æ©èœãããããããã¯ãŒã¯ã®åæããµãŒãã¹ããŠã³ã«å·Šå³ãããªããæ¢ãŸããªãç¥æ§ããå®çŸããŸããAIã®æŽ»çšãã¯ã©ãŠããšããäžæ¬ã®ç³žã«åããã®ã§ã¯ãªãããšããžïŒããŒã«ã«ïŒã«ç¢ºåºããè¶³å Žãç¯ããããããããã¢ãŒããã¯ããæå±ããä¿¡é Œæ§ã®èšèšææ³ã§ãã
â2. æçããç¥ãã«æè¯ãã3å±€æ§é ïŒã³ã³ããã¹ããåªå€±ããªã环ç©ããŒã¿æ¹åŒã®ç䟡
Nexus Flowã®å¿èéšã§ããããã¯ãšã³ãå®è¡ãšã³ãžã³ïŒnexus.jsïŒã¯ããããã¯ãšã³ãããã¹ã±ãžã¥ãŒã©ãŒããAIãµãŒãã¹ããããªãæŽç·Žããã3å±€æ§é ãæ¡çšããŠããŸããããã§ç¹çãã¹ãã¯ãæ å ±ã®æçãæèïŒã³ã³ããã¹ãïŒãžãšå€ããã环ç©ããŒã¿æ¹åŒïŒcurrentContentïŒãã§ãã
éåžžãAIã«ããèŠçŽã¯åæ å ±ãåå¥ã«åŠçãããããæ å ±ã®çžé¢é¢ä¿ã倱ãããã¡ã§ããããããNexus Flowã¯åããŒãïŒã¡ãŒã«ã倩æ°ããã¥ãŒã¹ïŒã®åºåãäžã€ã®currentContentãžãšè¿œèšãã巚倧ãªã³ã³ããã¹ãã圢æããäžã§AIãžæž¡ããŸãã
ããã«ãããAIã¯ãè倩ãšããç¶æ³ãèžãŸããäžã§ãç·æ¥åºŠã®é«ãã¡ãŒã«ãåªå ããŠå ±åããããšãã£ããæ å ±ã®æ ãè¶ ããçµ±åçãªæŽå¯ãçæå¯èœã«ãªããŸãããã©ãã©ã®ããŒã¿ããæå³ã®ãããç¥ããžãšæè¯ãããé«åºŠãªããŒã¿ã»ãã€ãã©ã€ã³ãããã«ãããŸãã
â3. åžžé§ããç¥æ§ïŒ1åééã®éŒåã玡ãèªååã®åŸå
ãã®ç¥çèŠå¡ã¯ãäž»äººã®æç€ºãåŸ ã€ååçãªååšã§ã¯ãããŸãããnexus.jsã«çµã¿èŸŒãŸããã¹ã±ãžã¥ãŒã©ãŒã¯ã1åééã®ãããŒãããŒãïŒéŒåïŒããå»ã¿ç¶ããŠããŸãã
ãã®éŒåã¯ãdata/flows/*.jsonã«å®çŸ©ãããåã¯ãŒã¯ãããŒã®èšå®ãåžžã«ç£èŠããæå®ãããæå»ãæ¡ä»¶ãæºããããç¬éãèªåŸçã«ã¿ã¹ã¯ãå®è¡ããŸããæãç®èŠããç¬éã«ææ°ã®ãã¥ãŒã¹ãšæªèªã¡ãŒã«ã®èŠçŽããããŠä»æ¥ã®è¡åæéãçæãããŠããããŠãŒã¶ãŒãæèããããšãªããæ å ±ã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãããã¯ã°ã©ãŠã³ãã§å®çµããŠããã®ã§ãã
â4. æ å ±ã®äž»æš©ãæ¡ããããŒã«ã«AIèŠå¡ãïŒç§å¿æ§ãæ ä¿ãããã€ããªããæŠç¥
ãã©ã€ãã·ãŒã®ä¿è·ã¯ãç¥çèŠå¡ã«ããããåå£ãã®åœ¹å²ãæãããŸããNexus Flowã¯ãOllamaãWhisperïŒããŒã«ã«/ã¯ã©ãŠãéžæå¯èœïŒãçµ±åããããšã§ã極ããŠæ©å¯æ§ã®é«ãããŒã¿ã®åŠçãããŒã«ã«ç°å¢å ã«å°ã蟌ããŸãã
ãããŒã«ã«ç°å¢ã§åäœããLLMã䜿çšãããã©ã€ããŒããªAIãã£ããã
ãã®äžç¯ã瀺ãéãã瀟å€ç§ã®PDFè§£æãé³å£°ãã¡ã€ã«ã®æåèµ·ããããäžåã®å€éšéä¿¡ãªãã«å®çµãããããšãå¯èœã§ãããŸããnexus_history.jsonã«ã¯ææ°10ä»¶ã®å®è¡ãã°ãä¿æãããèŠå¡å ã§ã®ç¥çãªæŽ»åå±¥æŽããŠãŒã¶ãŒèªèº«ãå®å šã«ç®¡çã§ããç£æ»èšŒè·¡ãšããŠã®æ©èœãåããŠããŸãã
â5. éããªãæŽç·ŽïŒããŒã¿ã»ãã€ãã©ã€ã³ã®çްéšã«å®¿ãã€ã³ããªãžã§ã³ã¹
åªãã建ç¯ã现éšã«ãã ããããã«ããã®ã·ã¹ãã ããŸããUXãåäžãããããã®å°å³ãªããã匷åãªã€ã³ããªãžã§ã³ã¹ã现éšã«å®¿ããŠããŸãã
AIã®ããã®èšèªå€æ: Open-Meteo APIããååŸãããç¡æ©è³ªãªå€©æ°ã³ãŒãã¯ããã®ãŸãŸAIã«æž¡ãããããã§ã¯ãããŸãããã·ã¹ãã ã¯ãããAIãæšè«ããããæ¥æ¬èªã®èªç¶èšèªãžãšå€æããŸããããã¯AIã®ç解粟床ãé«ããããã®ãé«åºŠãªããŒã¿ã»ãã¬ãã¬ãŒã·ã§ã³ã§ãã
èªåŸçãªã¡ã³ããã³ã¹: Gmail APIãéããŠæªèªã¡ãŒã«ãååŸããéãNexus Flowã¯å®è¡ãšåæã«èªåã¢ãŒã«ã€ãïŒæ¢èªåïŒãè¡ããŸãããŠãŒã¶ãŒã®åä¿¡ãã¬ã€ãã¯ãªãŒã³ã«ä¿ã€ãšãããçä»ãããŸã§ãããAIãè©ä»£ããããŸãã
èšèªã¬ãŒãã®åŸ¹åº: summarize.jsã¯ãAIã®åºåãæ¥æ¬èªããéžè±ããªããããããã³ããæ«å°Ÿã«å¶çŽãèªåä»äžããŸããã·ã¹ãã ã®å ç¢æ§ããœãããŠã§ã¢ã¬ãã«ã§æ ä¿ãã工倫ã§ãã
âçµè«ïŒããªãã¯ããžã¿ã«ç°å¢ãã©ãæ§ç¯ããŸããïŒ
OllamaãšNexus Flowã®çµ±åãç€ºãæªæ¥ã¯ãåãªãå¹çåã§ã¯ãããŸãããããã¯ãã¯ã©ãŠããžã®é床ãªäŸåããè±åŽããèªãã®æ å ±ã®äž»å°æš©ãåã³ãã®æã«åãæ»ããããžã¿ã«ã»ãœããªã³ãã®ç¢ºç«ã§ãã
app-settings.jsonã«å»ãŸããããªãå°çšã®èšå®ã¯ããã®èŠå¡ãããªãèªèº«ã®ç¥æ§ã®å»¶é·ç·ãžãšå€è²ãããŸããèªåŸçã«åããæèãçè§£ãããããŠéå£ã®å®ããåºãããããããããç§ãæå±ããæ¬¡äžä»£ã®ç¥ççæŽ»ã®ã¢ãŒããã¯ãã£ã§ãã
æåŸã«ãäžäººã®ã¢ãŒããã¯ããšããŠåããããŸãã
ãããªãã¯ããã¹ãŠã®æ å ±ãã¯ã©ãŠããšããä»è ã®åå°ã«é ãç¶ããŸããïŒ ãããšããèªåã ãã®ãç¥çèŠå¡ããç¯ããèªãã®ããžã¿ã«äž»æš©ãåå®çŸ©ããŸããïŒã
