Dockerå ã§LangChainããŒã¹ã®ããŒã¿ããŒã¹ããŒã¹ã®GenAIã¢ããªã±ãŒã·ã§ã³ãè¿ éã«æ§ç¯ããæ¹æ³
ç§ãã¡ããŸãšããæ°ããGenAIã¹ã¿ãã¯ã§GenAIã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããæ¹æ³ã«ã€ããŠè©±ãåããã®ã¯ãŒã¯ã·ã§ããã«ãè¶ãããã ãããããšãããããŸãã ç§ã®ååã¯Harrison Chaseã§ãLangChainã®CEOå Œå ±ååµèšè ã§ãã ç§ã¯Michael HungerãNeo4jã®è£œåã€ãããŒã·ã§ã³è²¬ä»»è ã§ãã 仿ã®åºèª¿è¬æŒãã芧ã«ãªã£ãæ¹ãããã£ããããšæããŸãããããã§ããããã®ã¯ããªããã©ã®ããã«ãèå°è£ã«äœãããã®ããã³ãŒããå®éã«ã©ã®ãããªãã®ãªã®ãããããŠã©ã®ããã«å§ããã°ããã®ãã«ã€ããŠãããå°ãæ·±ãæãäžããããšã§ãã
ãã®GenAIã¹ã¿ãã¯ã€ãã·ã¢ããã«ã¯ãLangChainãšNeo4jã®4ã€ã®ããŒãããŒãããããã¹ãŠDockerãšOllamaãããŒã«ã«LLMåãã«ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããŠããŸãã èæ¯ã説æããããã«ãå€§èŠæš¡èšèªã¢ãã«(LLM)ãšGenAIå šè¬ã«ã€ããŠã話ãããŸãããã LLMããŸã 䜿ã£ãããšããªã人ã¯ããŸãã?1ãããŠãããããã»ãšãã©ã®äººã¯äœããã®åœ¢ã§ChatGPTã䜿çšããããšãããã§ãããã
åºç€ã¢ãã«
LLMã¯ãåºæ¬çã«æ å ±ãäºæž¬ããããã«å€§éã®ããŒã¿ã§ãã¬ãŒãã³ã°ãããŠããæ°ããã¿ã€ãã®åºç€ã¢ãã«ã®äžéšã§ãã åŸæ¥ãæ©æ¢°åŠç¿ã¢ãã«ã¯ãéåžžã«ç¹æ®ãªç®çã®ããã«ã¢ãã«ããã¬ãŒãã³ã°ããéåžžã«è³¢ãããŒã¿ãµã€ãšã³ãã£ã¹ãã®é åã«ãããŸããã ããšãã°ãæ³åŸææžãåæããããã®æ³çã¢ãã«ããç»åå ã®ç¹å®ã®éšåãç¹å®ã®çš®é¡ã®ãªããžã§ã¯ããèªèããç»åèªèã¢ãã«ããã£ããšããŸãã ã€ãŸããéåžžã«ç¹æ®ãªç®çã®ããã«ã¢ãã«ã埮調æŽãããããã¬ãŒãã³ã°ãããããå¿ èŠãããããããå®çŸããããã«ã¯ãããŒã¿ãµã€ãšã³ãã£ã¹ããåžžã«å€ãã®å ·äœçãªåªåãããªããã°ãªããªãã£ãã®ã§ãã
åºç€ã¢ãã«ã§ã¯ãåºæ¬çã«ãããã倧éã®ããŒã¿ã§ã¢ãã«ããã¬ãŒãã³ã°ãããããšèšããããããããããã¹ãŠãå€ãããŸããã ãããŠãåºæ¬çã«ã¯äºæž¬ã¡ã«ããºã ã䜿ã£ãŠããã®ããŒã¿ã«åºã¥ããŠããããã®ã¢ãã«ãåŠç¿ããäžçã®ç¥èãšã»ãŒåãã ãšèšãã®ã§ãã ããã¹ããç»åãåç»ãªã©ã®ãŠãŒã¶ãŒã®å ¥åããããšãã°ãæ å ±ã®çæãæ€åºãæ å ±ã®æœåºãªã©ãããŸããŸãªçšéã«äœ¿çšã§ããŸãã ãããŠãããã®æ¬åœã«ã¯ãŒã«ãªç¹ã¯ããããã®ã¢ãã«ãéçºè ã«å©çšå¯èœã«ãªã£ãããšã§ãã ããŒã¿ãµã€ãšã³ãã£ã¹ãã§ããå¿ èŠã¯ãããããŸããã ããã«ã€ããŠã¯åŸã§å°ã説æããŸãã
ãŸãã 2017ã§ã¯ãGoogleã®ãã©ã³ã¹ãã©ãŒããŒã¢ãŒããã¯ãã£ã«ããããã®çš®ã®ã¢ãã«ããã¬ãŒãã³ã°ããããšãã§ããŸããã ãããŠããã¬ãŒãã³ã°éã¯ããªãå¢ããŸããã ãã®ããããããã®å€§èŠæš¡ãªã¢ãã«ã¯ãçŸåšãäœå ãã®æ å ±ããŒã¯ã³ã§ãã¬ãŒãã³ã°ãããŠããŸãã ãŸããGoogleãOpenAIãAmazonãAnthropicãMetaããããŠãã¡ããLlamaãªã©ãããããçš®é¡ã®ãããã€ããŒã®ã¢ãã«ããããŸãã äžã®äžã«ã¯ããããã®ã¢ãã«ããããã§ããã ãããŠãè峿·±ãããšã«ãç¹å®ã®ãã¬ãŒãã³ã°ãµã€ãºãããçªç¶ããããã®ã¢ãã«ãåµçºçãªåäœã瀺ãå§ããŸããã ããã¬ãã«ãŸã§ã¯ãäœãšãæåŸ ã§ããŠããããçšåºŠã®ãã¬ãŒãã³ã°ãµã€ãºã«ãªããšãæ¥ã«ãã£ãšå¢ãããããªæ°ãããéŸå€ã®ãããªãã®ããããŸãããã? äŸãã°ãããçšåºŠã®çè§£ãæ¬äŒŒçãªäººéå士ã®çžäºäœçšã¯ãçŸåšç§ãã¡ã43ç®ã«ããŠãããããªãããçš®ã®æ¬äŒŒçãªäººéå士ã®çžäºäœçšãå¯èœã§ããã
ãŸããéåžžã«è峿·±ãã®ã¯ããããã®ã¢ãã«ãäŒè©±ãè¡ããããã«ãªã£ãããšã§ãã 以åã®ã³ã³ããã¹ããä¿æã§ããŸãã ãã倧ããªã³ã³ããã¹ããŠã£ã³ããŠãªã©ã§äœæ¥ã§ããããããã®äžã«ã¯ããã«èªç¶ã«åäœããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã ã§ã¯ããªãä»ããããªã«æãã®ã§ãããã?
LLMã§ã§ããããšã¯ãããããããŸãã é»åãã³ã³ãã¥ãŒã¿ãŒã®ãããªæ±çšããŒã«ã®ãããªãã®ã§ããã? ã§ããããLLMãããªãã«åã£ãŠä»£ããããã§ã¯ãããŸããããLLMã¯ããªããéãããããããçç£çã«ãªã£ãããããè³¢ããããããŸãã LLMã䜿çšãããšãå€ãã®ããŒã¿ååŸã¿ã¹ã¯ãèªååã§ããŸãã ã¢ãããããŒã¿æ å ±ãæœåºããããã«ãç¹å®ã®ã¢ãã«ããã¬ãŒãã³ã°ããå¿ èŠã¯ãããŸããã ãšã³ã ãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ã¯ãçµç¹å ã ãã§ãªãçµç¹å€ã§ãåäžãããããšãã§ããŸãã ããšãã°ãããŒã¿ããŒã¹ãããå Žåã以åã¯ãããŒã¿ã«ã¢ã¯ã»ã¹ããããã«ããŠãŒã¶ãŒãã¢ããªãäœæããããSQLãªã©ã®ã¯ãšãªèšèªãèªåã§äœæããå¿ èŠããããŸããã ããã§ãããŒã¿ã«ã€ããŠèªç¶èšèªã§è³ªåãã人ãå¢ããæ¬åœã«ããããã§ãã
ãããŠãã¡ãããç§ãã¡ã¯çãæ å ±ã«æ¹ãããŸãã ãŸããLLMã¯ç§ãã¡ãå©ããããäžè¬çãªåºç€ã¢ãã«ã¯ããã®æ å ±ãããçè§£ãããããã°ããèŠçŽãããããã®ã«åœ¹ç«ã¡ãŸãã ãã¡ãããçœ ã¯ãããŸããã? äžæ¹ã®åŽã§ã¯ãLLMã¯æ å ±ãçæããããã«äœ¿çšããã仿¹ã§ã¯ãæ å ±ãå床èŠçŽããããã«äœ¿çšããããããæ å ±ã®èŠçŽããŒãžã§ã³ãéä¿¡ããããšãã§ããŸãã ã§ããããäžè¬çãªç©ºéã«ãå€ãã®çœ ããããŸãã ç¹ã«éçºè ã«ãšã£ãŠãã³ãŒãžã§ãã¬ãŒã·ã§ã³ã¯æ¬åœã«ã¯ãŒã«ã§ãã Copilot ã䜿çšããããšãããæ¹ãå€ããšæããŸãããDuet AI ãªã©ãä»ã«ãå€ãã®ããŒã«ããããŸãã ããã¯ãèªç¶èšèªããã®SQLçæããŸãã¯èªç¶èšèªããã®æ å ±çæã§ãã ç§ãã¡éçºè ããã£ãšããŸããããããšã¯ãããããããŸãã ããã§ãåºæ¬çã«ã¯5æ¥ããã£ãŠããããšãããããŸã§äœ¿ãããŠããªãã£ãæ°ãããã®ãäœãããã«2ã3æéã«ççž®ã§ãããšãããæ¬åœã«è¯ãèšäºãèŠãŸããã
課é¡
GenAIã«ã¯ããã€ãã®èª²é¡ããããŸããã? äžã€ã¯å¹»èŠã®ãããªãã®ã§ããªãŠã è¿ãã§ããã? ãããããªãããšèšãã®ã§ã¯ãªããã§ã£ã¡äžããŠããã ãã§ãã 人éã®ãã£ãŒãããã¯ã«ãã匷ååŠç¿ã¯ãåºæ¬çã«ãããã®ã¢ãã«ãããããç§ã¯åžžã«äººéãåã°ããªããã°ãªããªãããšãããããªãã®ã«ããŸãããã? ã§ãããããããããªãããšèšã代ããã«ãããšãããããã¹ãŠåœç©ã§ãã£ãŠãã圌ãã¯éåžžã«èª¬åŸåã®ããæ å ±ããªã³ã¯ããã®ä»ã®ãã®ãçæããŸãã ãã®ãããªã·ã¹ãã ãã¢ããªã±ãŒã·ã§ã³ãäŒæ¥ã«å°å ¥ããããªããããããã¯å€§ããªåé¡ã§ãã ãããã®ã¢ãã«ãä¿¡é Œã§ããããã«ããå¿ èŠããããŸãã
ãããŠããã¬ãŒãã³ã°ããŒã¿ã®ã«ãããªãã倧ããªåé¡ã§ãã ãªããªãããããã®ãã¬ãŒãã³ã°æžã¿ã¢ãã«ã¯ãã¹ãŠç¹å®ã®æ¥ã«éããããã®åŸã«åŸããããã¹ãŠã®æ å ±ã¯ã©ããªãã®ã§ãããã? ãŸãã¯ããããã®ã¢ãã«ã䜿çšããŠãç¬èªã®ããŒã¿ããŒã¹ã«ããç¬èªã®å人æ å ±ã«ã©ã®ããã«ã¢ã¯ã»ã¹ããŸãã? çŸåšãWebãªã©ã«ã¢ã¯ã»ã¹ããããã®ãã©ã°ã€ã³ãããå¯èœæ§ã¯ãããŸãããããŒã¿ããŒã¹ãªã©ã¯ã©ããªãã®ã§ãããã? ãããŠãã»ãã¥ãªãã£ã³ã³ãã©ã€ã¢ã³ã¹ãPIAãªã©ãä¿æããå¿ èŠããããŸãã
圌ãã¯èšèªçè§£ã«é·ããŠãããç§ãã¡ã¯ãããäœã®ããã«äœ¿ã£ãŠããã®ã§ãã ã§ããããåºæ¬çã«ã¯åœŒãã®èšèªã¹ãã«ã ãã䜿ãã圌ãã䜿ããããã¬ãŒãã³ã°ããŒã¿ã¯ãã¹ãŠç¡èŠããŠããŸãã ããã§ããŸãå¹»èŠãããšãŠãèªä¿¡ã«æºã¡ãŠããŠãã§ã£ã¡äžããŠããã ããŸã«ãç§ãäœãã話ããŠãããããªæãã§ããã? ã€ã³ãã¹ã¿ãŒçå矀ã®ããã«ã ç§ã¯ãã§ã«ãããã®ã»ãšãã©ã«ã€ããŠèšåããŸããã ãŸããå«ççãªåŽé¢ããã¹ãŠã§ãã ãã®ããŒã¿ã¯ã©ãããæ¥ãã®ã§ãããã? ããšãã°ãèè ãã¢ãŒãã£ã¹ãããã¬ãŒãã³ã°ã«ããŒã¿ã䜿çšããããšã«å¯ŸããŠå ±é ¬ã¯æ¯æãããŠããŸãã? 人ãå€§äŒæ¥ã¯ãããŒã¿ã«ã©ã®ãããªã¢ãã«ã©ãã«ãä»ããŠããŸãã? åŽåãšæŸåã®åŽé¢ããããŸãã ã ãããããããªãã®ãããã è¿ éãªæ³šå°ã¯ããŸã£ããååãªãµãŒãã¹ãåããŠããªã倧ããªãããã¯ã§ãã
課é¡ã¯ããããããã®ã§ãäžã€äžã€è§£æ±ºããŠããå¿ èŠããããŸãããäžè¬çã«ã¯ãæçµçã«ã¯ãã¬ãã£ããªããšãããæçãªããšã ãšæããŸãã ã§ããããç§ã¯ãã¬ãã£ããªç«å Žã§ã¯ãããŸããã
LLMã®ããããã¹ãŠã®èª²é¡ã§ãã©ãããã°LLMãæ¹åã§ããŸãã? ããã€ãã®ãªãã·ã§ã³ããããŸãã æ¢åã®ã¢ãã«ã䜿çšããŠåŸ®èª¿æŽããããšãã§ããŸãããããã¯å€§å€ãªåŽåã§ãã ãããŠãå€ãã®å Žåãã¢ãŠãããããšçµæã¯ãå°ãªããšã仿¥ã§ã¯ãã·ã¹ãã ã¢ãã«ã«åãå ¥ããŠåŸ®èª¿æŽããããã®ã§ã¯ãããŸããã LLMãšè©±ããšãã«ãããã€ãã®äŸãæäŸã§ããŸãã ããããåºæ¬çã«ã¯ãããã®äŸãããŒãã³ãŒãã£ã³ã°ããå¿ èŠããããããŸã圹ã«ç«ã¡ãŸããã ãããŠãã°ã©ãŠã³ãã£ã³ã°ãæ€çŽ¢ã®è£åŒ·ã«ã€ããŠã§ãããããã¯åºæ¬çã«ããŠãŒã¶ãŒã®è³ªåã«çããããã«LLMã䜿çšãã¹ãæ å ±ãLLMã«æäŸããããšã§ãã ãããŠãèŠçŽã®èšèªã¹ãã«ã䜿ã£ãŠããã«ãã©ãçãã®ã§ãã ããããä»ã¯éçºè ã«ãšã£ãŠæ¬åœã«è¯ãæ©äŒããããŸãã
çžäº äœçš
ç§ãã¡ãä»çããŠãããã®äžçã§æããšããµã€ãã£ã³ã°ãªããšã®1ã€ã¯ããããã®éåžžã«åŒ·åãªæ©æ¢°åŠç¿ã¢ãã«ãšå¯Ÿè©±ããããã«ããŒã¿ãµã€ãšã³ãã£ã¹ãã§ããå¿ èŠããªãããšã§ãã 人ã ã䜿ã£ãŠããäž»ãªãã®ã®å€ãã¯ãAPIã®ããåŸãã«ãããŸãã ã€ãŸããOpenAI 㯠API ã®èåŸã«ãããAnthropic 㯠API ã®èåŸã«ãããããéåžžã«ç°¡åã«æäœã§ããŸãã ãŸããä»å䜿çšãã Ollama ã®ãããªéåžžã«ãšããµã€ãã£ã³ã°ãªããã±ãŒãžããããŸããããããã¯ããŒã«ã«ã§ãã¹ããããã¢ãã«ã§ãããéåžžã«ããŸããã³ãã«ãããŠããŸãã ã¢ãã«ããã¬ãŒãã³ã°ããå¿ èŠããªããªããŸãããããªãã¯ãããå®è¡ãããããæäŸããå¿ èŠããããŸãã ãããŠãOllama ã¯ãããæ¬åœã«ç°¡åã«ããŸãã ã§ãããããã®ãããªå€§èŠæš¡èšèªã¢ãã«ã誰ã䜿ããããšããæ°äž»åãé²ãã§ããŸãã
ããã¹ãããšããããŸãã äœãæ®ã£ãŠããªã宿ãããããžã§ã¯ãã§ã¯ãªããã¿ããªã§å€æ¥ã«åãã£ãŠåºèªããã ãã§ãã ãããã®èšèªã¢ãã«ã䜿çšããã«ã¯ãå€ãã®äœæ¥ãè¡ãå¿ èŠããããŸãã ã€ãŸããããã³ããã¯ãŸã£ããæ°ããçš®é¡ã®èŠåŸãåºçŸããã®ã§ãã ãããã®èšèªã¢ãã«ã§ã¯ãéåžžãããã¹ããå ¥åããã³åºåããã¹ããšããŠåãåããŸãã ãŸããåºåããã¹ãã¯ãå€ãã®å ŽåããŠãŒã¶ãŒãžã®å¿çããäžæµã§äœããè¡ãæ¹æ³ã瀺ããã®ã§ãã ãã®ãããæé©ãªçµæãåŸããããããªåºåããã¹ããååŸã§ããããšãéåžžã«éèŠã§ãã ãã®ããã®æ¹æ³ã¯ãèšèªã¢ãã«ã«æž¡ãæååãæ éã«æ§ç¯ããããã³ããã䜿çšããããšã§ãã
ããã³ãã以å€ã®ãã®ãèšèªã¢ãã«ã«åœ±é¿ããŸãã ãããã®ã¢ãã«ã«ã¯æž©åºŠã®ãããªãã®ããããåå¿ã®ã©ã³ãã æ§ã«åœ±é¿ãäžããŸãã ãŸããæ¬åœã«ç¢ºå®çãªåºåãå¿ èŠãªå ŽåããŸãã¯æ±ºå®è«çãªåºåã«ããªãè¿ãå Žåã¯ã枩床ãéåžžã«äœãèšå®ã§ããŸãã ããã¯ãªãšã€ãã£ãã§å¯å€çãªå¿çãå¿ èŠãªå Žåã¯ãéåžžã«é«ãèšå®ããŸãã ãããŠãåžžã«æ£ãã人ã¯ããŸããã ãããã¯ãããŸããŸãªã¢ããªã±ãŒã·ã§ã³ã«åœ¹ç«ã¡ãŸãã ã§ããããäžã®äžã«ã¯ãããããããªãé«ã枩床ãæã£ãŠãããã®ãããã§ãããã ç¹å®ã®ããšãæ¬åœã«ããŸããããããšæã£ãŠããããŒãœãã«ã¢ã·ã¹ã¿ã³ãã®äžã«ã¯ãäœæž©ãäœã人ãããŸãã ãã®ããããããã®ã¢ãã«ãæå€§éã«æŽ»çšããããã«ãéçºè ãåŠç¿ãããšãã¹ããŒãã«ãªãããšãã§ããå€ãã®ææ³ãšããªã¬ãŒããããŸãã
ãŸããèšèªã¢ãã«ã®åºåã䜿çšãããããªãã®ããã¹ãŠãããŸãã ããã§ãLangChainã®åºçªã§ãã ã¢ã€ãã¢ã¯ãåºåãããã¹ãã§ããå¯èœæ§ããããŸãããå€ãã®å Žåãåãªãããã¹ããããå€ãã®æ§é ãæã£ãŠããŸãã ãã®ãããè§£æããŠåŠçããAPI ãžã®å ¥åãšããŠäœ¿çšããããSQL ã³ãã³ããå®è¡ãããã§ããããã«ãæ£ããæ¹æ³ã§æ§é åãããŠããããšã確èªããå¿ èŠããããŸãã ãã®ããããããã®èšèªã¢ãã«ãä»ã®ããŒã¿ãèšç®ãœãŒã¹ã«æ¥ç¶ããã«ã¯ãå€ãã®äœæ¥ãå¿ èŠã§ãã
åã«ãã話ãããããã«ããã¡ã³ããŒã·ã§ã³ã¢ãã«ã«ã¯å€çš®å€æ§ãªãã®ããããšæããŸãã äž»èŠãªã¯ã©ãŠããããã€ããŒãããã£ãŠåå ¥ããŠããŸãã Olamaã®ãããªããŒã«ã«ã¢ãã«ãããã誰ã§ãèªåã®ã³ã³ãã¥ãŒã¿ã§å®è¡ã§ããŸãã ãŸããOpenAIãAnthropicã®ãããªAIãã€ãã£ãã®ã¹ã¿ãŒãã¢ããããããå€ãã®ã¢ããªã±ãŒã·ã§ã³ã®ããŒã¹ã¬ã€ã€ãŒã®ãããªãã®ã§ãã ããã«äžã®ã¬ãã«ã«ã¯ãLangChainãLlamaIndexãHumanLoopãªã©ã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãã¬ãŒã ã¯ãŒã¯ããããå€ãã®èšèªã¢ãã«ã調æŽããããããä»ã®ããŒã¿ãèšç®ãœãŒã¹ã«æ¥ç¶ããã®ã«åœ¹ç«ã¡ãŸãã ãããŠããããRAGã¢ããªã§ã©ã®ããã«èŠãããã詳ãã説æããŸãã
ããããã°ãããããã¹ãŠãç¶²çŸ ããã€ã³ãã©ãã§ãããããŸãã ãããã€ãç£èŠãè©äŸ¡ãããŒã«ããããŸãã ãã®å€ãã¯ãœãããŠã§ã¢ãšã³ãžãã¢ãªã³ã°ãšäŒŒãŠããŸãããLLMåºæã®ããŒã«ã«ãããã€ãã®éãããããŸãã ä»å玹ä»ããLangSmithã¯ãã®äžäŸã§ãããAPIã¬ã¹ãã³ã¹ã®ç£èŠã«éç¹ã眮ãããã®ã¯ä»ã«ããããããããŸãã äžã«ã¯ãMLã®åŽé¢ã«éç¹ã眮ãã人ã ãå®éã«ãã£ããããããäœã«äœ¿ã£ãŠããã®ããæãäžããã®ã«åœ¹ç«ã€ãã®ããããŸãã ãã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ã«ããŽãªã§ã¯ãå€ãã®æ°ããããŒã«ãç»å ŽããŠããŸãã
ãããŠãMichaelãèšã£ãããã«ãæ¬åœã«è¯ãåå¿ãåŸãããã«ã¯ãäžè¬çã«ãæ¥ç¶ãããã¢ããªã±ãŒã·ã§ã³ã®å®éã®äºå®ãæ¯ããŠããããçš®ã®ããŒã¿ããŒã¹ãå¿ èŠã§ãã ãã®ããããã¯ãã«æ€çŽ¢ãšãã¯ãã«ããŒã¿ããŒã¹ã¯ãèšèªã¢ãã«ã«æ¥ç¶ããã®ã«éåžžã«åŒ·åã§ããããšã蚌æãããŠãããã®æ°ãã圢åŒãšããŠç»å ŽããŸããããSQLãã°ã©ãããŒã¿ããŒã¹ãªã©ã®æ¢åã®ããŒã¿ããŒã¹ããã¹ãŠååšãããã®ã³ã³ããã¹ããæäŸããããã«åŒãç¶ã䜿çšã§ããŸãã
ã§ãããããããããå°ã现ããåçã§èŠããšãããã¯A16 Zããã®ãã®ã§ããããšãããããŸããæ°ã¶æåã®è©±ã§ãã ãã®é£ã«ãéšåçããšæžãããŠããã®ã¯ã空éãæ¬åœã«ãæ¬åœã«éãå€åããããã§ãã ãã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¬ã€ã€ãŒãçãäžã«ãããããã«LangChainãããããšãããããŸãã ãããããã®åšãã«ã¯ä»ã«ãããããã®äœåããããŸãã ãã¬ã€ã°ã©ãŠã³ããAPIããã©ã°ã€ã³ããããŸãã ãããã¬ãã«ã§ã¯ãã³ã³ãã¯ã¹ãã¥ã¢ã«ããŒã¿ã®ãããªãã®ããããããŒã¿ãã€ãã©ã€ã³ããããã£ã³ã°ã¢ãã«ããã¯ã¿ãŒããŒã¿ããŒã¹ãªã©ããããŸãã ãããŠããã仿¥ãããæ¡åŒµãããªããã°ã©ãããŒã¿ããŒã¹ãSQLãªã©ãä»ã®ããŒã¿ããŒã¹ãããã«çœ®ããŠããã§ãããã æ¬¡ã«ãLLMãã£ãã·ã¥ããã®ã³ã°ãLLMéçšãæ€èšŒãå«ããã¹ãŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãäžéšã«ãããŸãã ããã«ãºãŒã ã€ã³ããããšãã§ããŸãã ãããŠãã€ãã«ã¢ããªã®ãã¹ãã£ã³ã°ã«ãã©ãçããŸãã
ããã§ç޹ä»ããå 容ã®å€ãã¯ã衚é¢çã«ã¯éåžžã«åçŽãªã¢ããªã®ããã«èŠããŸãããã³ãŒããšããããã®ããŸããŸãªã³ã³ããŒãã³ãã®èå°è£ã倿°ç޹ä»ããŸãã GenAIã¹ã¿ãã¯ã®äŸ¡å€ææ¡ã®äžéšã¯ããããå°ãåçŽåããéåžžã«ç°¡åã«äœ¿ãå§ããæ¹æ³ãæäŸããããšã§ãã
ã©ã³ã°ãã§ãŒã³
ãããŸã§ãLangChainã«ã€ããŠå°ãã話ãããŠããŸããã ããå°ãæãäžãããšãLangChainã¯GenAIãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãã¬ãŒã ã¯ãŒã¯ã§ãã ããã«è¡šç€ºãããããããã¹ãŠã®ç°ãªãã¢ãžã¥ãŒã«ã«æ¥ç¶ããŸãã ããŒã«ããµã³ãã«ã»ã¬ã¯ã¿ãããã³ããããã¯ã¿ãŒã¹ãã¢ãããã¥ã¡ã³ãããŒããŒããªãŒãã³ããŒãµãŒãããã¹ããã¹ããªãã¿ãŒãã¢ãã«ãããããããã§ã¯è§ŠããŠããªãä»ã®ãã®ãã ãããã¯ãã¹ãŠLangChainã®ç°ãªãã¢ãžã¥ãŒã«ã§ãã ãŸããã¢ããªã±ãŒã·ã§ã³ã¯éåžžãããŸããŸãªæ¹æ³ã§æ§ç¯ããã4ã€ã5ã€ããŸãã¯6ã€ã®ç°ãªãã¢ãžã¥ãŒã«ã§æ§æãããŠããŸãã ãã®ãããããããã¹ãŠã®ã¢ãžã¥ãŒã«ã«äžçš®ã®æšæºã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŠããŸãã
50以äžã®ç°ãªãLLMãããã€ããŒã®æšæºã€ã³ã¿ãŒãã§ãŒã¹ããããŸãããããŠããããã®ã¢ãžã¥ãŒã«ã®ããã€ããèªåãã¡ã§å®è£ ããŠããŸãã äŸãã°ãããã¹ãã¹ããªãã¿ãŒã¯ãLangChainã«ããå®è£ ã®1ã€ã§ãLangChainã®ãã€ãã£ãã®ãããªãã®ã§ãã LangChainã®ããäžã€ã®äŸ¡å€ææ¡ã¯ãæ§ç¯æžã¿ã®ãã§ãŒã³ãšãšãŒãžã§ã³ãã§ãã åè¿°ããããã«ããããã®ã¢ããªã±ãŒã·ã§ã³ã®å€ãã¯ãç¹å®ã®æ¹æ³ã§æ§ç¯ãããã¢ãžã¥ãŒã«ã§ãã æ¢è£œã®ãã§ãŒã³ããšãŒãžã§ã³ãã¯ãåºæ¬çã«ããŸããŸãªã¿ã¹ã¯ãå®è¡ããããã®äºåæ§ç¯æžã¿ã®ãã³ãã¬ãŒãã§ãã ãããŠã仿¥ã¯ãã®ãã¡ã®1ã€ã䜿çšããŠããœãŒã¹ãã§ãŒã³ã®æ€çŽ¢ãQAãè¡ããèå°è£ã§äœãèµ·ãã£ãŠããã®ããæãäžããããšãã§ããŸãã ç§ã¯ããããã€ã±ã«ã«è¿ããŠãRAGã«ã€ããŠãã£ãšè©±ãã€ããã§ãã
襀耞
RAGã¯ä»æ¥å€§æµè¡ããŠããŸãã åè¿°ããããã«ãããŒã¿ããŒã¹ãããŒã¿ ãœãŒã¹ããèšèªã¢ãã«ãžã®æ å ±ã®ãããã³ã°ããã£ãŒãã¯ã圹ã«ç«ã¡ãŸãã ããã¯ãå¹»èŠãç¥èã®ãããªãã®ã«ã¢ãããŒãããããã®çŸåšã®æè¯ã®æ¹æ³ã§ãã RAGã¯ãRetrieval Augmented Generationã®é æåããšã£ããã®ã§ãã 2幎åã1幎åãã¯ããããŸããããç§ã«ãšã£ãŠã¯å幎åãã¯ããããŸãããã圌ãããããæ¢æ±ããè«æãããã人ã ããã®äŸ¡å€ãèªããã®ã§ãããã¯æ¬åœã«å®çããŸããã ãããŠãåºæ¬çã«ã¯LLMã®ãã¬ãŒãã³ã°ããŒã¿ãç¡èŠããèšèªã¹ãã«ã ãã䜿ãã®ã§ãã ãŠãŒã¶ãŒã®è³ªåãåãä»ããŸãã ãŠãŒã¶ãŒã®è³ªåããã¯ãã«åã蟌ã¿ãŸãã¯ããŒã¿ããŒã¹ã¯ãšãªã«å€æããããŒã¿ããŒã¹ãŸãã¯ããŒã¿ãœãŒã¹ã«éä¿¡ããŸãã ãã¡ããããã®è³ªåã«é¢é£ããæ å ±ãæœåºããŸãããããŒã¿ããŒã¹å ã®ãã¹ãŠã®æ å ±ãæœåºããããã§ã¯ãããŸããã ãããããã®è³ªåã«é¢é£ããæ å ±ã ãããŠããã®æ å ±ãå«ã質åãLLMã«éä¿¡ããŠããã®äººã®åçãäœæããŸãã ããã¯ããã®ãã¿ãŒã³ã§ãèŠãããã¢ãããŒãã®äžçš®ã§ãã
å Žåã«ãã£ãŠã¯ãæ å ±ãååŸããããã«ããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ããå¿ èŠããããã©ãããæ±ºå®ããããšãã§ããŸãã äŸãã°ãã¯ãªãšã€ãã£ããªä»äºããããªããæ¬¡ã®ãããžã§ã¯ãã®ã¢ã€ãã¢ãåºããŠãããšãã ã¯ãªãšã€ãã£ããªã¿ã¹ã¯ã®å Žåã¯ãLLMã«çŽæ¥ã¢ã¯ã»ã¹ããããšãã§ããŸãããå®éã«å éšããŒã¿ã«ã¢ã¯ã»ã¹ãããå Žåã¯ãããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ããŠãããè¡ããŸãã
仿ã®åºèª¿è¬æŒã§ããèŠãããããã«ãä»åã話ãããã³ã³ããŒãã³ãã ãã§ãªãããã§ã«ã¹ã¿ãã¯ã«çµã¿èŸŒãŸããŠãããµã³ãã«ã¢ããªã±ãŒã·ã§ã³ã倿°ãããŸãã ç§ãã¡ã¯ããã«è¿œå ããã€ããã§ããããã¡ãããçããããã®ãã£ãŒãããã¯ã«ãèå³ããããŸãã ãã®ãããã¢ã€ãã¢ã質åãããå Žåã¯ãGitHub ã®ã€ã·ã¥ãŒãéããããªããžããªã«ãã«ãªã¯ãšã¹ããéä¿¡ããŠãã ããã
ããã«ããæåã®ã¢ããªã¯ãåºæ¬çã«APIããããŒã¿ãååŸããããŒã¿ããŒã¿ããŒã¹ãäœæãããã¯ãã«ã€ã³ããã¯ã¹ã«åã蟌ã¿ã®åã蟌ã¿ãœãŒã¹ãçæãããã¬ããžã°ã©ãã®ã€ã³ããŒãã§ãã ãããŠãä»ã®ã¢ããªãããã䜿çšã§ããããã«ããŸãã
ä»æçŽ¹ä»ãã2ã€ç®ã¯ãLLMãšçŽæ¥ããåãããããããŒã¿ããŒã¹ã§RAGã䜿çšãããã§ãããã£ãããããã§ãã ãŸãããã®è³ªåã«çããããã®æ å ±ããã¬ããžããŒã¹ã«ãªãå Žåã¯ããã¬ããžããŒã¹ã§åºæ¬çã«äžäœãŸãã¯æãè©äŸ¡ã®é«ã質åãéžæããŠã瀟å ãµããŒãããŒã ããã®è³ªåã«çããããã®æ°ãããã±ãããçæã§ããŸãã? ãã®ããããŠãŒã¶ãŒã®è³ªåããã®ãã¹ãŠã®å ¥åã«å ããŠããã¬ããžããŒã¹ã§æãè©äŸ¡ã®é«ã質åãŸãã¯æãè©äŸ¡ã®é«ã質åã®ããŒã³ãšã¹ã¿ã€ã«ãšã¿ã€ããåãåããåãããŒã³ãšã¹ã¿ã€ã«ã§æ°ãã質åãçæããŸãã
次ã«ãããã«ãã4çªç®ã®ã¢ããªã¯ãåºæ¬çã«PDFãžã®ãã£ããã§ãã PDFãã¢ããããŒããããšããã£ã³ã¯ããã¯ã¿ãŒã«å€æããããã§ãŒã³ãšUIã䜿çšããŠã¹ããªãŒãã³ã°ããPDFãšãã£ãããããããã®PDFã«ã€ããŠè³ªåãããã§ããŸãã ããã¯ãããŒã¿ããŒã¹ã§ã¯ãªãããã¥ã¡ã³ããã¢ã¯ã»ã·ãã«ã«ããæ¹æ³ã®äžè¬çãªäŸã§ããããŸãã ãããŠãç¹°ãè¿ãã«ãªããŸããããã§ã«äœåºŠãèšåããããã«ãGenAIã¹ã¿ãã¯ã®ãã«ãã£ã³ã°ãããã¯ã§ãã ãããŠããã®ãã¹ãŠãDocker Composeã«ãã£ãŠãŸãšããããŠããŸãã
Ollama ã«ã¯ãŸã£ããæ°ããããŒã¹ã€ã¡ãŒãžããããç¹ã« Linux ããã®ãŸãŸåäœããŸãã LangChainããŒã¹ã®ã€ã¡ãŒãžã¯ã©ã¡ããå ¬åŒã€ã¡ãŒãžã§ãããããªãåããååšããŠããNeo4jã®å ¬åŒã€ã¡ãŒãžã¯ãDocker Composeã»ããã¢ããã«ãã£ãŠãã¹ãŠãŸãšããããŠãããåºæ¬çã«ã¯ã䜿çšããã¢ãã«ãé·ããªã©ããã¹ãŠã®ç°å¢å€æ°ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããã³æ§æããŸãã ããšãã°ãæ¥ç¶æ å ±ããã©ã®ãããªå éšæ å ±ãå ¥ãããããªã©ã§ãã
ã€ãŸããã¢ããªã®ãããŒãèŠããšãã³ã³ããã§è©±ããå 容ãšäŒŒãŠããŸããã? ã§ããããåºæ¬çã«ã¯ Streamlit ã¢ããªã§ãŠãŒã¶ãŒã®è³ªåã«çããããšã«ãªããŸã â Python éçºè ã«ãšã£ãŠãããããããã¿ã€ã UI ã«å°éããããã®æè¯ã®æ¹æ³ãŸãã¯æéã®æ¹æ³ã§ãããããçŸåš UI ãã¬ãŒã ã¯ãŒã¯ãšã㊠Streamlit ã䜿çšããŠããŸãã API ãš JavaScript ã®ããã³ããšã³ãã¯å¿ èŠãããŸããããåºæ¬çã«ã¯ Python ãçŽæ¥äœ¿çšããŠã¢ããªã±ãŒã·ã§ã³ãå®è¡ã§ããŸãã ããã§ããŠãŒã¶ãŒã®è³ªåãåããŠãåã蟌ã¿ã¢ãã«ã«ç§»åããŠããŠãŒã¶ãŒã®è³ªåã®ãã¯ãã«åã蟌ã¿ãçæããŸãã ããšãã°ãæå€æåšã ãã§ãªããã©ã 2ããªã©ã䜿çšã§ããŸãã åã蟌ã¿ãååŸããããŒã¿ããŒã¹å ã®ããŒã¿ãã¯ãã«æ€çŽ¢ã«ç§»åãããã¯ãã«æ€çŽ¢ãè¡ããã°ã©ãããŒã¿ããŒã¹ã§ããããããã¯ãã«æ€çŽ¢ããäžäœKåã®èŠçŽ ãååŸããã³ã³ããã¹ããæ¡åŒµããŸãã
ããã§ããã®è³ªåã«ä»ã«äœãé¢é£ããŠããŸããã? æãè©äŸ¡ã®é«ãåçã¯äœã§ãããã¿ã°ãªã©ãéããŠããã«é¢é£ããä»ã®è³ªåã¯äœã§ãã? 次ã«ããã®æ å ±ãååŸããLangChainãä»ããŠãã£ããã¢ãã«(åã蟌ã¿ã¢ãã«ãšã¯ç°ãªãã¢ãã«)ã«éä¿¡ããåçãè¿ããã¢ããªã«ã¬ã³ããªã³ã°ããŸãã ããã§ã¯ããã¢ãèŠããŠãç§ãå§ããŠãHarrisonã2çªç®ã®éšåãèŠãŠãããŸãã
ãã¢
仿ãèŠãããããã«ãåºæ¬çã«ã¯ãdocker compose upããå®è¡ã§ããŸãã ãŸããããã§åŠçãè¡ã£ãŠããéãäœæãã¡ã€ã«ã確èªããããšãã§ããŸãã ãã®ãããcompose ãã¡ã€ã«ã«ã¯å€æ°ã®ã³ã³ããŒãã³ããå«ãŸããŠããŸãã ããŒã«ã« LLM ã管çããããŒã«ã« Ollama ã® LLM ã€ã¡ãŒãžããããŸãã åºæ¬çã« Ollama ã¬ãžã¹ããªããã€ã¡ãŒãžããã«ããå¥ã®ãã« ã¢ãã« ã€ã¡ãŒãžã ãããã£ãŠã䜿çšããã¢ãã«ã«å¿ããŠããã®ã¢ãã«ããã«ããŸãã ãããã®ã¢ãã«ã¯ããªã倧ãããªãå¯èœæ§ããããããLLMã®ãããªå°ããªã¢ãã«ã¯ 27 0åã®ã¬ãã€ãã 4 ã®ã¬ãã€ãã 13 10åã®ã¬ãã€ã㯠10 ã®ã¬ãã€ãã 70 10å㯠30 ã®ã¬ãã€ããªã©ã§ãã ããã¯å€§éã®ããŒã¿ã§ãããOlamaããããããŒã«ã«ã«ä¿æããŠããããããªããŒãããå¿ èŠã¯ãããŸããã ãããã£ãŠãäžåºŠãã«ãããšããã·ã³äžã«ããããããå®è¡ã§ããŸãã æ¬¡ã«ãããŒã¿ããŒã¹Neo4jãããããã§ãã¯ããããŸããŸãªã¢ããªããããŸãã ã€ãŸããããŒããŒãããããããããããPDFãããããããããã¯åºæ¬çã«ããã®ãã·ã³ã®ããŸããŸãªããŒããå ¬éããŠããç»åã§ãã ãããŠãæ§æã¯ããŒã«ã«ç»åã®æ å ±ãæž¡ãããéããŠããAIããŒãå ¥åããããšãã§ããGPT3 ãŸãã¯GPT4 ãã¢ãã«ãšããŠäœ¿çšããããšãã§ããŸãã
ãã®éãç§ãã¡ã®ãdocker compose downãã¯æåããç§ãå§ãããšãããã¯åºæ¬çã«LLMã¢ãã«ãããŒã¿ããŒã¹ãããã³ã¢ããªããã«ã¢ããããŸãã ãã®éãUI ã§ãèŠãããŸãã åºæ¬çã«ãããã«ã¯ããŒããŒããããçŸåšå®è¡ãããŠããã¯ããªã®ã§ãåºæ¬çã«ã¯ãèå³ã®ãã Stack Overflow æè¡ãéžæã§ããŸãã
ããšãã°ãDockerã®è³ªåãããŒã¿ããŒã¹ã«è¿œå ãããšããŸãã 質åã®æåŸã®çµäºããŒãž(ãã¹ãŠã®è³ªåããã¹ãŠã®åçããã¹ãŠã®ãŠãŒã¶ãŒããã¹ãŠã®ã¿ã°)ãååŸããããããã¯ãã«åã蟌ã¿ã«åã蟌ãã§ããååŸããŸãã ãã®ãããStack Overflow ã§ Docker ã«é¢ããæåŸã® 100 ã€ã®è³ªåãååŸããã«ã¯ãçŽ 10 ç§ãã 20 ç§ããããŸãããããã£ãŠãé廿°æ¥éã«è³ªåã«ãåçããå Žåã質åã¯ããããããã«ãããŸãã ãã®ãããã°ã©ãããŒã¿ããŒã¹ã«è¿œå ãããŸãã ããã§ãã€ã³ããŒããæåããããšãããããŸãã ããŒã¿ããŒã¹ãžã®ãªã³ã¯ã§çŽæ¥ããã«ãžã£ã³ããããšã質åãåçããŠãŒã¶ãŒãã¿ã°ãå«ããã®ããŒã¿ã¢ãã«ã衚瀺ãããŸãã ãããŠãããŒã¿ããŒã¹ã«ç§»åãããšããã®ããŒã¿ãæ¢çŽ¢ããããã²ãŒãã§ããŸãã 玫è²ã®è³ªåãéè²ã®è³ªåãåçããªã¬ã³ãžè²ã®ã¿ã°ã衚瀺ãããããšãã°ãã®ã¿ã°ãå±éããããšèšããšãä»ã®ãã¹ãŠã®è³ªåãããã«è¡šç€ºãããŸãã ç§ã¯ããŒã¿ããŒã¹ãªã©ãäœæããããããã¹ãŠã«ãã¯ãã«åã蟌ã¿ãããã®ã§ãåºæ¬çã«ãããã®è³ªåã®1ã€ãèŠããšãããã«è³ªåæ¬æããããããã«ãšã³ãã£ãã£ã«çŽæ¥æ·»ä»ãããåã蟌ã¿ããŒã¿ããããæ€çŽ¢çšã®ãã¯ãã«ã€ã³ããã¯ã¹ãæ ŒçŽãããŠããããšãããããŸãã
以äžããããŒã¿ããŒã¹èªäœãšããã®ããŒã¿ããŒã¹ãžã®å ¥åæ¹æ³ã§ãã ãŸããStack Overflow API åŒã³åºãã®ã¿ã䜿çšããŠãStack Overflow ã®ããŒã¿ãååŸããŸãã ãããããã®ããŒã¿ã¯ãããããå Žæããããã APIãããããããŒã¿ãœãŒã¹ãªã©ããåŸãããããšã¯æ³åã«é£ããããŸããã ãããŠãRAGãç¡å¹ã«ãªã£ãŠãããšãããããã¯æåã®ã¢ãŒãã«ãªããŸãã åºæ¬çã«çŽæ¥äœ¿çšããLLMã§ããã°ãLLMãšå¯Ÿè©±ããããšãã°ãDocker Scoutã®äœ¿ãæ¹ãªã©ãèšãããšãã§ããŸãã ãããŠãç§ã¯æ å ±ãéžã³ãããã¯åºæ¬çã«ããªãã«äœããäžããŸãããç§ã¯ç¥ããŸããã ã©ã 2ã ãšæããŸãã å®éã«ããã«é¢ããæ å ±ããããããããŸããã ãããã仿ã®è³ªåã䜿çšãããšãLangChainã䜿çšããŠPDFãèŠçŽããã«ã¯ã©ãããã°ããã§ãã? ãããããåºæ¬çã«ç§ã¯LangChainã«ã€ããŠäœãç¥ããªããšèšããŸãããªããªãç¥èã鮿ãããã®ã¯LangChainãæšå¹Ž11æã«ãªãªãŒã¹ãããåã ã£ãããã§ããã? ãããããã¯ãããã¯ãã§ãŒã³ã ãšæã£ãŠããŸãã ãããããã§ãã ãããã£ãŠãåºæ¬çã«ã¯ãRAGã¹ãã¢ã«è¡ãåã質åãšæ¯èŒã§ããŸãã ãããã£ãŠãåºæ¬çã«ã¯åã«èª¬æããããšãè¡ããŸãã ããã¯ããªãã®è³ªåãåãåããããããã¯ãã«ã«å€æãããã¯ãã«ã€ã³ããã¯ã¹ã«è¡ããã°ã©ãããŒã¿ããŒã¹å ã®äžäœKã®ããã¥ã¡ã³ããŸãã¯èŠçŽ ãæ€çŽ¢ãããããã®è³ªåããæãè©äŸ¡ã®é«ãããŸãã¯åãå ¥ããããŠããåçã«è¡ãããããã®è³ªåãšãããã®åçãLLMã«æž¡ããŠãããã§ã®è³ªåã«çããŸãã
èå°è£ã§ã¯å€ãã®ããšãèµ·ãã£ãŠããŸãããã³ãŒãã«ã€ããŠã調ã¹ãŸãã ããã¯å®éã«ã¯ããŒã¿ããŒã¹ã«ããStack Overflowã®èšäºããåããããã®ã§ãRAGãã¿ãŒã³ã®æ¬åœã«è¯ãç¹ã®1ã€ã¯ãåºæ¬çã«åç §å¯èœã§æ€èšŒå¯èœãªãœãŒã¹ãåçããåŸãããããšã§ãã å³ã ã€ãŸããåã«åçãçæããã ãã§ãªããããã¹ããã£ã³ã¯ãæ å ±ãåºæ¬çã«æ€èšŒããããªã³ã¯ãURLããã®ä»ã®çš®é¡ã®ãœãŒã¹ãLLMã«æž¡ããšãLLMã«æç€ºããŠãåçãåºåãŸãã¯èŠçŽãããšãã«ãåçæããããœãŒã¹ãªã³ã¯ãšããŠäœ¿çšããããã«ä¿ãããšãã§ããŸãã ãããã£ãŠããããã䜿çšããŠè©³çްã«å ¥ãããšãã§ããŸãã æ¬¡ã«ããããã®ãªã³ã¯ã®1ã€ãã¯ãªãã¯ããŠãããã§æ å ±ãååŸã§ããŸãã
ãããŠæåŸã®ã¢ããªã±ãŒã·ã§ã³ã¯ãåè¿°ããããã«ãPDFãã£ãããããã§ãã LLMããã®åçã«æºè¶³ã§ããªãå Žåã¯ããã©ãããã±ãããçæãããšèšãããšãã§ããŸã - ããã¯ç§ãåã«è¿°ã¹ãä»ã®ã¢ããªã§ãåºæ¬çã«ããŒã¿ããŒã¹ããæé«è©äŸ¡ã®æ å ±ãŸãã¯ããŒã¿ããŒã¹ããæé«è©äŸ¡ã®è³ªåãååŸãããã®è³ªåã®ã¹ã¿ã€ã«ã§ãåçãçæããŸãã
ããã§ã¯ãåºæ¬çã«ã¢ã€ã³ã·ã¥ã¿ã€ã³ã®ç¹èš±ãšçºæãã¢ããããŒããããã¡ã€ã«ã«ããã¹ãŠã®çºæããªã¹ãã¢ããããããšèšãããšãã§ããŸãã æ¬¡ã«ãåºæ¬çã«ã¯ãpdfããæœåºããããããã®ããã¹ããã£ã³ã¯ãå床ååŸããæãé¢é£æ§ã®é«ãæ å ±ãèŠçŽããŠååŸããåçãè¿ããŸãã ã€ãŸããããã¯äžçš®ã®å€éšãªã®ã§ããããã®ã¢ããªã¯ãã¹ãŠã¹ããªãŒãã³ã°ã¢ããªã§ãã API ãš JavaScript ããã³ããšã³ããåããèšèªãšã¢ããªã远å ããäºå®ã§ãã ã§ããããããã¯åºçºç¹ã«ãããŸããã ãããŠãåºæ¬çã«ã¯ãã¢ã€ã³ã·ã¥ã¿ã€ã³ããã©ãŠã¹ã¯ç§åŠçãªçºæã§ã¯ãªãå®çšçãªçºæã§ãããšæ±ºå®ããããšãPDFããããããŸãã
ããããã¹ãŠã®ã³ãŒãã調ã¹ããå Žåã¯ãHarrison ãããå°ã詳ãã説æã§ããç¹ãããã§ãããã ããšãã°ãLLMã®ã¿ã䜿çšãã颿°ãããããããã®è³ªåã«çããããã«åœ¹ç«ã€ãã«ããããããšã瀺ãããã³ããããããããã³ãããã³ãã¬ãŒãã䜿çšããŠäººéã®è³ªåãšã·ã¹ãã ã¡ãã»ãŒãžã®è³ªåãå ¥åããŸãã ãããŠãã¹ããªãŒãã³ã°åºåã䜿çšããŸãã ChatGPT ãšåæ§ã«ãåçãã¹ããªãŒã ãšããŠçæããŸãã ã ãããããã«ãã®ã³ãŒã«ããã¯ãããã®ã§ãã æ¬¡ã«ãåºæ¬çã«ãŠãŒã¶ãŒå ¥åãšã³ãŒã«ããã¯ã§ãã§ãŒã³ãåŒã³åºããåçã®çæãéå§ããŸãã
åºæ¬çã«ã¯ãLLMã®ã¿ã®ãã£ãããè¡ãããã«å¿ èŠãªã³ãŒãã¯ãã¹ãŠããã ãã§ãã çŽæ¥çãªãã®ãå®è¡ãããå Žåã¯ãããã«ããè€éãªã³ãŒãããããããã³ããã¯ããå°ãè€éã§ãã ç§ãã¡ã¯ããªããèŠãŠãããã®ããããŠããªãããœãŒã¹ãšãªã³ã¯ãæã£ãŠããããšãã¡ãã£ãšèª¬æãããããŠãã®ã»ã¯ã·ã§ã³ã§ã¯ããŒã¿ããŒã¹ã¯ãšãªããã®èŠçŽã§ãã ãããŠããŠãŒã¶ãŒã®è³ªåã¯ããŠãŒã¶ãŒãã³ãã¬ãŒãã«æž¡ãããŸãã ãããã£ãŠãååçã«ããªã³ã¯ãå¿ èŠã§ãããšãè¿°ã¹ãŠããŸãã ãŸããããããªãå Žåã¯ãçããããšããªãã§ãã ãããç¥ããªããšã ãèšã£ãŠãã ããã
次ã«ããããã·ã¹ãã ãšäººéã®ãã³ãã¬ãŒãã®ãã£ããããã³ããã«åã蟌ã¿ããã¯ãã«ãšãã¬ããžã°ã©ãã®çµ±åã確èªããŸãããåºæ¬çã«ã¯LangChainããã¯ã¿ãŒã¹ãã¢ããã±ãŒãžããŸãã¯äžéšãããšèšãã ãã§ãã Neo4j ãã¯ã¿ãŒ ã¹ãã¢ãåã蟌ãããšãã§ããŸãã ãŸããå¿ èŠã«å¿ããŠä»ã®ãã¯ã¿ãŒã¹ãã¢ãåã蟌ãã§ãåºæ¬çã«ãããç§ã®ãã¯ã¿ãŒã€ã³ããã¯ã¹ã§ããããããæ¢ããã£ãŒã«ãã§ãããšèšããå®éã«ãã®ã°ã©ããæäŸãã質åã«ç§»åããŠé¢é£æ å ±ãååŸããŠLLMã«è¿ãããšãã§ããŸãã æ¬¡ã«ãããããã¹ãŠãããã¯ã¿ãŒãã¬ããªãŒããŒãšããŠæ§æããæ€çŽ¢QAãã§ãŒã³å ã§çµã¿åãããŸãã äžã®2ã€ã®èŠçŽ ãå¿ èŠã§ãã ãããå¢ããããšã¯ã§ããŸãããèŠçŽ ã«æž¡ãããããã¹ãã®éã倧ãããªãããã®åœ±é¿ããããŸãã 1ã€ã¯ãäŸãã°ãããã³ããã®éäžã«ãããã®ãç¡èŠãå§ããããããã確ççã«ãªãããšã§ãã ã€ãŸããããã¹ãã®éã«å¿ããŠ2ã5åãé©åã§ãããããã質åã«çããããã«äœ¿çšãããQAãã§ãŒã³ã§ãã
ãããèå°è£ã®ã³ãŒãã®ãããªãã®ã§ãHarrison ã¯ããã®ã³ãŒãã®å®è¡äžã«å®éã«äœãèµ·ãã£ãŠããã®ããææ¡ããæ¹æ³ãå°ã調ã¹ãŸãã
ããããã¡ããã§ãã ããã§ãMichaelãæåŸã«èŠããã®ã¯ããã®ãœãŒã¹ãã§ãŒã³ã«ããæ€çŽ¢QAã§ãããã¯ããã®æ£ç¢ºãªRAGããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããããã®å€ãã®ããžãã¯ãå«ããã§ãŒã³å ã®ã¯ã©ã¹ã§ãã ããã¯ããã®ã¯ã©ã¹ã ãã§ç°¡åã«éå§ã§ããããšãæå³ããã®ã§çŽ æŽãããããšã§ããããã®ã¯ã©ã¹ã«ã¯å®éã«ã¯ããªãã®éã®ããžãã¯ãå«ãŸããŠãããããå°ãçæ³çã§ã¯ãããŸããã ãããŠãããã¯LangChainã®å®éã«ã¯ããåçŽãªã¯ã©ã¹ã®1ã€ã§ããããŸãã ããè€éãªãã®ã®äžã«ã¯ãããã«å€ãã®ããžãã¯ãå éšã«ãããã®ããããŸãã
ã©ã³ã°ã¹ãã¹
ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ãããšãã¯ãæ°è¡ã®ã³ãŒãããå§ããã®ã¯çŽ æŽãããããšã§ãããå éšã§äœãèµ·ãã£ãŠããããçè§£ããŠããããã°ãšæ¹åãè¡ãããããã¿ã€ãããéçšç°å¢ã«å®éã«ç§»è¡ã§ããããã«ããããšãéåžžã«éèŠã§ãã ãã®ããã«ããããã¬ã§ãã LangSmith ãäœæããŸããã å€ãã®ããšãè¡ããŸããã人ã ãããã䜿çšããäž»ãªç®çã¯ãå éšã§äœãèµ·ãã£ãŠããããæ£ç¢ºã«ç¢ºèªããããã®ãããã°ãšå¯èŠ³æž¬æ§ã§ãã
ããã§èŠããšãå®éã«ã¯3ã€ã®ç°ãªãã¿ã€ãã®ã·ãŒã±ã³ã¹ãããããšãããããŸãã ãšããããã§ããããæåã®1ã€ã§ãã ããã¯ãRAGã®ãªãæåã®LLMã³ãŒã«ã«ãããŸããã ãããŠãããã¯LLMã®éåžžã«åçŽãªããã³ãããªã®ã§ãéåžžã«ç°¡åã§ãã ãã ããLangSmith ã§å®çŸã§ããåªããæ©èœã®ããã€ããæ«é²ããäŸãšããŠããã䜿çšããã ãã§ãåã¹ããããžã®å ¥åãšåºåãäœã§ããããæ£ç¢ºã«ç¢ºèªã§ããŸãã é¢é£ä»ããããŠããã¡ã¿ããŒã¿ã衚瀺ã§ããŸãã ãããŠãç¹ã«LLMã®å Žæã«è¡ããšãå®éã«å°ããªéã³å ŽãéããŠããããããããåãããšãã§ããŸãã ãã®ããããã¡ãã®èšå®ã確èªã§ããŸãã å ¥åã倿ŽããŠããåå®è¡ããåºåãååŸããŠåºæ¬çã«ãããã°ã§ããŸãã ããã¯ãè€æ°ã® LLM åŒã³åºãã®ã·ãŒã±ã³ã¹ãããå Žåã«éåžžã«åœ¹ç«ã¡ãŸãã ããšãã°ããã®ã·ãŒã±ã³ã¹ã® 3 çªç®ã®ã·ãŒã±ã³ã¹ããããã°ããå Žåã¯ãæ£ç¢ºãªç¶æ ãæ£ç¢ºãªå ¥å倿°ãããã³æ£ç¢ºãªããã³ãã ãã³ãã¬ãŒããåäœæããå¿ èŠããããŸãã ã§ããããããããã¹ãŠãã¢ããªã§ç¬ç«ããŠè¡ãããšããã®ã§ã¯ãªããããã§ç°¡åã«ãã¬ã€ã°ã©ãŠã³ããéãããšãã§ããŸãã
æ»ããšããã§ãŒã³ã«ã¯ããã«2ã€ã®ã¿ã€ããããããšãããããŸãã ãããã¯å®éã«ã¯éåžžã«ãã䌌ããã§ãŒã³ã§ãããããã³ãããç°ãªãã ãã§ãã ãããã£ãŠããã®æ€çŽ¢ããœãŒã¹ãã§ãŒã³ã«ããæ€çŽ¢QAãèŠããšãäžé£ã®æé ã確èªã§ããŸãã æåã«ãã® retriever ã¹ãããããããæ¬¡ã«ãã® StuffDocumentsChain ããããŸãã retriever ã¹ããããèŠããšãã¯ãšãªãåãåããããã¥ã¡ã³ãã®ãªã¹ããè¿ãããšãè¡ãããŠããããšãããããŸãã ããã§ã¯ãè¿åŽãããŠããããã¥ã¡ã³ããæ£ç¢ºã«äœã§ãããã調ã¹ãããšãã§ããŸãã ãããŠãç§ãã¡ã¯ããããã¹ãŠãããã§èŠãããšãã§ããŸãã ãã® StuffDocumentsChain ã¯åºæ¬çã«ãããã®å ¥åãåãåããŸãã ã€ãŸãã質åãããããã£ããå±¥æŽãããããããã®å ¥åããã¥ã¡ã³ãããããŸãã ãããŠããããã¯åã®ã¬ããªãŒããŒã¹ãããããæ¥ãŠããŸãã
ãããŠãå éšçã«ã¯ãããããã¹ãŠãèšèªã¢ãã«ãžã®æçµçãªåŒã³åºãã«æž¡ããŠããŸãã ãããŠããããåã³ãã¬ã€ã°ã©ãŠã³ãã§éããšããã€ã±ã«ã以åã«ææããŠããã·ã¹ãã ããã³ããã衚瀺ãããŸãã æ¬¡ã®ã³ã³ããã¹ãã䜿çšããæåŸã«è³ªåã«çããŸãã ã³ã³ããã¹ãã«ã¯ãäœãšããäœãšããäœãšãã質åãå«ãŸããŠããŸãã ãããŠãããã¯ããã«è²Œãä»ããããŠããŸãã ãããŠãæåŸã«ã¯ããŠãŒã¶ãŒã®è³ªåã衚瀺ãããŸãã LangChainã䜿ã£ãŠPDFãèŠçŽããã«ã¯ã©ãããã°ããã§ãã? ãã®ããã³ãããã©ã®ããã«è¡šç€ºããããã¯ãååŸæé ãå®äºãããŸã§ã«æ£ç¢ºã«ããããŸãã
ããã«æ»ããšããã®ãã§ãŒã³ã¯åºæ¬çã«åãããã«èŠããããšãããããŸãã ãããŠãäœãèµ·ãã£ãŠããããšãããšãäž»ãªéãã¯æž¡ãããããã³ããã§ãã ãããŠãããããããã³ãããèšèªã¢ãã«ã«å®è¡æ¹æ³ãæç€ºããããã以åã«éåžžã«éèŠã ã£ãçç±ã§ãã ãããŠããã®çµæã®éããèŠããŠããã°ãã©ãã§åç §ãååŸããŸããã ãããŠããã®çµæã¯ãããã§ãªãå Žåãå¯äžã®éãã¯ããã³ããã§ãã 1ã€ã®ããã³ããã¯ããã®åçãå«ããœãŒã¹ã®ãªã¹ããçæããããã«æç€ºããŠããããã1ã€ã®ããã³ããã¯ãããæ±ããŠããŸããã ããã¯ããã®ã¿ã€ãã®ããã³ããæŠç¥ã§åŸãããå€ãã®æè»æ§ã瀺ããŠããŸãã
ã¢ããªã±ãŒã·ã§ã³ã®è©³çް
ãããããã§ç޹ä»ãããã£ãããšã ãšæãã®ã§ããšããããã¹ã©ã€ãã«æ»ããŸãã æ¬¡ã®æ°æã®ã¹ã©ã€ãã§ã¯ããã®ã¢ããªã±ãŒã·ã§ã³ã®è©³çްã説æããŠããŸãã ããããå ±æããŠãå€ãã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã§ Docker Compose ã䜿çšããŠããå 容ããã詳现ã«ç¢ºèªã§ããããã«ããŸãã ããŸããŸãªã³ã³ãããåŒãäžããããŠããŸãã Ollama â ç§ãã¡ã¯åœŒãã®ããŒã«ã«LLMã䜿ã£ãŠããŸãã ãããŠããããã¯ãå¿ èŠã«å¿ããŠãµãã€ã³ã§ããä»ã®LLMã§ãã ãããŠããããã¯ãã¹ãŠããŸã£ããåãã€ã³ã¿ãŒãã§ãŒã¹ãæã€LangChainãšã®çµ±åã®ãããªãã®ãæã£ãŠããŸãã ãã®ããããããã亀æãããã亀æããããå®éšãããããã®ã¯éåžžã«ç°¡åã§ãã
åºèª¿è¬æŒã§ã¯ãããªããããªãã®äŒç€ŸãGenAIã®ããã«äœãæ§ç¯ããããææ¡ããå®éã«ããã«è£œååžå Žãé©åãããããã«ãåºæ¬çã«ãã®è¿ éãªå®é𿮵éã®éèŠæ§ã«ã€ããŠè©±ããŠãã人ããããšæããŸãã ãããLangChainã®äŸ¡å€ææ¡ã®äžéšã§ããããã®è¿ éãªå®éšã§ããããŸãã Neo4jã¯æããã«ããã§ã®ãã¬ããžã°ã©ãã§ãã ãããŠãNeo4jã®å€§ããªå©ç¹ã¯ãããŸããŸãªã³ã³ã»ãããèŠèŠåã§ããããšã§ãã ããã§ããããŒã¿ãæ¥ç¶ããŸãã ãã®å€ãã¯ãããŒã¿ããã¯ã¿ãŒã¹ãã¢ã«æã蟌ãã§ããŸãã ãã§ãŒã³ã§äœãèµ·ãã£ãŠããããèŠèŠåã§ããã®ãšåãããã«ããã¯ã¿ãŒã¹ãã¢ã«äœãããããæ£ç¢ºã«èŠèŠåã§ããã®ã¯æ¬åœã«çŽ æŽãããããšã§ãã
ãããŠãããããã¹ãŠã®LLMã¢ããªã±ãŒã·ã§ã³ã®ããŒãã®1ã€ã¯ããã®ãããªç¢ºççæ§è³ªãå ãããšããªãã¶ãŒãããªãã£ãæ¬åœã«éèŠã«ãªããšããããšã§ãã ããã¯ãç§ãã¡ããŸãšãããã®GenAIã¹ã¿ãã¯ã®å€§ããªããŒãã¹ã§ããããã¬ããžã°ã©ãã§LLMãæ¥å°ããããã«äœ¿çšãããNeo4jã®ãã®ãåæ§ã§ãã ãã®ã€ã³ããŒãæé ã確èªã§ããŸãã ã€ã³ããã¯ã¹äœæã®ã¹ããããéåžžã«è€éã§ãã ã§ããããããèªäœã¯å¥ã®è©±ãªã®ã§ãããã ãã®ããã¹ããååŠçãããã£ã³ã¯ã«åå²ããããŸããŸãªã¿ã°ã§ãã¯ã¿ãŒããŒã¿ããŒã¹ã«æ£ç¢ºã«é 眮ããæ¹æ³ã«é¢ããŠãèå°è£ã§ã¯ããŸããŸãªãªãã·ã§ã³ãé²è¡äžã§ãã ãã®çŽ æŽãããèŠèŠåãããã§ååŸã§ããããã«ããŸãã
LangChainã®éšåãããããã®ããŸããŸãªã³ã³ããŒãã³ããã€ãŸãã¢ããªãæ§ç¯ããæ¹æ³ã®ãããªãã®ã§ãã æ¬¡ã«ãäœæãããã¢ããªã±ãŒã·ã§ã³ã®ããã€ãã衚瀺ãããŸãã ãŸãã質åã«åºã¥ããŠåçãããã®ãµããŒã ãšãŒãžã§ã³ã ãããã§ãã Pythonã§æžãããŠããŸããUIã¯Streamlitã«ãããŸãã ãããŠãLLMãã§ãŒã³ã¯LLMã«åã蟌ãããã«ä¿ããã·ãŒã³ã®äžã§Neo4jãä¿ããŸãã å ·äœçã«ã¯ãQAãã§ãŒã³ã§ãŠãŒã¶ãŒã®è³ªåããããããã³ãããæ§æããŠåºåãæäŸãããœãŒã¹ããªã¹ãã¢ããããUIã«ã¬ã³ããªã³ã°ããŸãã
Neo4jãã¯ã¿ãŒã¹ãã¢ã§å ·äœçã«äœãèµ·ãã£ãŠããã®ãã«ã€ããŠã¯ãããã§è©³ãã説æããŸãã®ã§ã質åãæž¡ããã¯ãã«ãšããŠåã蟌ã¿ãŸãã ãã®ãã¯ãã«ã«é¢é£ããããã¥ã¡ã³ããæ€çŽ¢ãããããæ»ããŸãã ããã¯ãMichaelãæ«é²ããã¯ãŒã¯ãããŒã§ããã¬ããžããŒã¹ã«åçããªãå Žåã«ãã±ãããçæããŸãã ãŠãŒã¶ãŒã®è³ªåããã±ããã«å€ããããšãã§ããŸãã ãšããã®ãã人ã ãããŸã ã«è§£æããããšããŠãã倧ããªããšã®1ã€ã§ããããªãä»ãéçºè ã«ãªãã®ã«æ¬åœã«è¯ãææãªã®ãã¯ãããããã¹ãŠã®GenAIã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠé©åãªUXã¯äœããšããããšã ããã§ãã ãããã¯æ¬åœã«åªããŠããŠãæ¬åœã«åŒ·åã§ããå¯èœæ§ããããŸãããå®ç§ã§ã¯ãããŸããã ã§ã¯ããããã©ã®ããã«äŒããªãããUXã«åãå ¥ãããã®ã§è£ã£ãŠããã®ã§ãããã? ãããŠãããã¯å°ãã¢ããªã±ãŒã·ã§ã³åºæã®ãã®ã§ãããããããŸããä»GenAIiã§ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããçµ¶å¥œã®æ©äŒã§ããçç±ã§ãã
ããã¯ãLangChainã®ããã¥ã¡ã³ãããã®ã¹ã¯ãªãŒã³ã·ã§ããã§ãç§ãã¡ãæã£ãŠãããŠãŒã¹ã±ãŒã¹ã®ããã€ãã玹ä»ããŠããŸãã®ã§ããããã®ãããããããªãã®ç©ºæ³ãåºæ¿ãããªãã°ãå¿ ããããããã§ãã¯ãã«è¡ãã«è¡ããŸãã ããŸããŸãªãŠãŒã¹ã±ãŒã¹ããããããŸããŸãªçµ±åãããããããã®ã§ããããã¯å察åŽã«ãããŸãã ã§ããããã¯ã©ãŠããããã€ããŒãªã©ãäž»èŠãªãã®ã ãã§ãªããããŸããŸãªã³ã³ããŒãã³ãã«ãå€ãã®ãã®ãããããšãããããŸãã ããããã®äžã«ã¯ãåã蟌ãããšãã§ããããŸããŸãªã¿ã€ãã®ããŒã«ãã¬ããªãŒããŒãLLMã«ã€ããŠ100ãã50ãããããšã¯ãåãã§ããããLangSmithã¯ããããŸã§èŠãŠããããã«ãLLMã¢ããªã±ãŒã·ã§ã³ã®ãªãã¶ãŒãããªãã£ã¹ãããã®ãããªãã®ã§ãã©ã®ãããªã¹ããããèžãã®ã§ãããã? åã¹ãããã®ã€ã³ããããšã¢ãŠããããã¯äœã§ãã? çŸåšããã©ã€ããŒãããŒã¿çã§ããã仿¥ããã«ãããã¹ãŠã®äººã®ããã«ã³ãŒããäœæããŸããã®ã§ããã²è©ŠããŠã¿ãŠããã ãããã®QRã³ãŒãã§LangSmithã«ããã«ã¢ã¯ã»ã¹ã§ããã¯ãã§ãã ãããèŠéããå Žåã¯ãåŸã§ç§ã«äŒãã«æ¥ãŠãã ããã ã»ããã¢ããã§ããŠããããã§ãã ããã«ãããæ£ç¢ºãªãã¬ãŒã¹ãšæ£ç¢ºãªå ¥åã確èªã§ãããã®ãããªãã¥ãŒãå¯èœã«ãªããŸãã Michaelã¯ãç§ãã¡ã話ããŠããããããã¹ãŠã®ãã®ã«ã¢ã¯ã»ã¹ããæ¹æ³ã«ã€ããŠå°ã話ããŸãã
èµ·åããŠå®è¡ãã
ã§ã¯ãã©ãã§å ¥æã§ããŸãã? æãç°¡åãªæ¹æ³ã¯ãã©ãŒãã³ã°ã»ã³ã¿ãŒã§Docker Desktopãéãã ãã§ãäžå€®ã®AIãšMLã®ã¬ã€ã(GenAIã¹ã¿ãã¯)ã®äžã«è¡šç€ºãããŸãã ãªã³ã¯ãã¯ãªãã¯ãããšãåºæ¬çã«gitãªããžããªã«ç§»åããã¯ããŒã³ãäœæããŠããŠã³ããŒãã§ããŸãã ãdocker compose upããå®è¡ãããšãèµ·åããŠå®è¡ãããŠããã¯ãã§ãã ä»ã®ãã®ã远å ããå ŽåããŸãã¯äœ¿çšããã¢ãã«ã®çš®é¡ã倿Žããå Žåã¯ããã¹ãŠæ§æã«ãããŸãã ä¹ããæåŸ ãããã«ã¯ãã£ãšå€ãã®ãã®ããããŸãã
ãæ°è»œã«ãæèŠããå¯ããã ããã 10æ 26æ¥ã«ã¯éçºè äŒè°ãéå¬ãããŸãã®ã§ããã®ã°ã©ãã®èŠæ¹ãæ å ±ã®ã€ãªãæ¹ã«ã€ããŠãã£ãšç¥ãããæ¹ã¯ããã²ãè¶ããã ããã ãã¹ãŠã®ã¿ã€ã ãŸãŒã³ã§ 24 æéã®ã³ã³ãã³ããããã100以äžã®è¬æŒããããŸãã ML/AI ã¯ã匷åãªããžã¥ã¢ã©ã€ãŒãŒã·ã§ã³ãªã©ããã®å€§ããªåŽé¢ã§ãã ã©ããããããšãããããŸãã
質çå¿ç
質åãã§ããŸããããã€ã¯ãšãæã£ãŠãªããšæé³Žããªããšãããªãã®ã§ãé æ ®ãªããé¡ãããŸãã
ã€ãŸããã°ã©ã ããŒã¿ããŒã¹ã¯ããŸã第äžã«ãæ å ±ããšã³ãã£ãã£ããã³ãªã¬ãŒã·ã§ã³ã·ãããšããŠæ ŒçŽããæ±çšãã©ã³ã¶ã¯ã·ã§ã³ ããŒã¿ããŒã¹ã§ãã ãããã£ãŠãããŒãã«ã ãããããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ãšã¯ç°ãªãããšã³ãã£ãã£ã¯ 1 ã€ã®ã¿ã€ãã®ãªããžã§ã¯ããšããŠããªã¬ãŒã·ã§ã³ã·ããã¯å¥ã®ã¿ã€ãã®ãªããžã§ã¯ããšããŠæã£ãŠããŸãã
ãã¯ãã«ããŒã¿ããŒã¹ããŸãã¯ããäžè¬çã«ã¯ãã¯ãã«ã€ã³ããã¯ã¹ã¯ã倿¬¡å æµ®åå°æ°ç¹ãšæ å ±ã®æ¬è³ªã®ã³ãŒãã£ã³ã°ãåãã€ã³ããã¯ã¹ã§ãã ãããŠããã¯ãã«åã蟌ã¿ã§ã®ãã¯ãã«ç¬Šå·åã¯ã倿¬¡å ãã¯ãã«ç©ºéã«ãããæç« ã®æ¬è³ªããã®åçã®æ¬è³ªããã®åèªããããªã®æ¬è³ªãªã©ããšãããããªãã®ã§ãã ãããŠããã¯ãã«ããŒã¿ããŒã¹ã®ãããã®ãã¯ãã«ã€ã³ããã¯ã¹ã¯ãåºæ¬çã«ç¹å®ã®ãã¯ãã«ãèŠã€ããããšãå¯èœã«ããŸãã
ããªãã質åããããã«ãç§ã®ããŒã¿ããŒã¹å ã§ãè·é¢ãŸãã¯è§è·é¢ãäœåŒŠãŸãã¯ãŠãŒã¯ãªããè·é¢ã®ããããã§ãã§ã«ååšããä»ã®ãã¯ãã«ã«æãé¡äŒŒããŠããããŸãã¯æãè¿ããã®ã¯äœã§ãã? ãã¯ãã«ããŒã¿ããŒã¹ã¯åºæ¬çã«ãæ¢åã®ãã¯ãã«ã倧éã«ååŸããå ¥åã«æãè¿ããã¯ãã«ãèŠã€ããéåžžã«é«éãªã¢ã«ãŽãªãºã ã§ãã ä»ã«ãå€ãã®ãã¯ã¿ãŒããŒã¿ããŒã¹ããããäŸãã°æŸãŒã£ãããªã©ã§ãã ããããNeo4jãMongoDBãPostgresãªã©ã®ä»ã®å€ãã®ããŒã¿ããŒã¹ã¯ãéåžžã®ããŒã¿ããŒã¹ã«ãã¯ãã«ã€ã³ããã¯ã¹ã远å ããŠãããããéåžžã®ããŒã¿ããŒã¹ãšãã¯ãã«æ€çŽ¢ã䜵çšããå©ç¹ããããŸãã ãããã£ãŠããã¯ãã«æ€çŽ¢ã ããè¡ãããã以å€ã¯äœãè¡ããªããšããéåžžã«çããŠãŒã¹ã±ãŒã¹ãããããã¯ãã«ããŒã¿ããŒã¹ãé©ããŠããããããŒã¿ããŒã¹ã«æ¢åã®ããŒã¿ããã¹ãŠããå Žåã¯ãããŒã¿ããŒã¹ã®ãã¯ãã«æ€çŽ¢æ©èœããã®ãŸãŸäœ¿çšã§ããŸãã
ã§ã¯ããã¯ãã«ããŒã¿ããŒã¹ã§äœããããã®ããããã³ãããåºããšèšããŸãã? AIã«ããã³ããã®äœæãäŸé Œãããšããã³ã³ã»ããã«ã€ããŠèªã¿ãŸããã ãã®å Žåãã¢ã€ãã¢ãªã©ã¯ãããŸãããããžã¿ã«ããã³ããã®ããã«åœ¹ç«ã¡ãŸãã
ããã³ãããåããLLMã«ãããæ¹åããããã«äŸé Œãããšããæµãã§ããã€ãã®ç ç©¶è«æããããŸããã å®è£ ã¯ãããšæããŸãã APE(ãªãŒããããã¯ã»ããã³ããã»ãšã³ãžãã¢)ãšãããã®ãããã ãšããã®ããLLMãããŸããããªãå Žåãã¹ããŒã¹ãç©ããã£ãŠã¯ãªããªããšããã«äœåãªã¹ããŒã¹ãããããã§ã¯ãªãããã§ãã MidJourneyã®ããã³ãããèŠããšãã©ã³ãã ãªæåã®ãããªãã®ããããŸããã? ãããŠãã©ã®åèªã䞊ã¹ãã¹ãããèããããã®äžçš®ã®èžè¡ããããŸãã
LLMã¯ããã§ã¯ãªããšæããŸããã倱æãããšãæ ¹æ ãšãªãããŒã¿ããªãã£ãããæç€ºãæç¢ºã§ãªãã£ãããããªã©ãçããã¹ãæ£ããæèãæ¬ ããŠããããšãå€ããšæããŸãã ãããã£ãŠãæç€ºãæç¢ºã§ãªããŠãåé¡ãããŸããã ç§ããã匷æ°ãªã®ã¯ãLLMã䜿ã£ãŠã人éãããã³ããã«ãã£ãšå€ãã®ãã®ãããããããšãã§ããæ¹æ³ãææ¡ãããšããã¢ã€ãã¢ãããããŸãã - LLMãèªåçã«ãã®æ å ±ãæã¡èŸŒãã®ã¯é£ãããšæãã®ã§ãå¿ ãããèªåã§ããããã§ã¯ãããŸããããã©ã®ãããªããšãèšããã¯æç¢ºã§ã¯ãããŸããã
ããããšãããããŸãã
ããã«è©³ãã
- Docker Newsletter ã賌èªããŠãã ããã
- Docker ãã¹ã¯ãããã®ææ°ãªãªãŒã¹ãå ¥æããŸãã
- 次ã®ãã®ã«æç¥šããŠãã ãã! å ¬éããŒãããããã芧ãã ããã
- 質åããããŸãã? Docker ã³ãã¥ããã£ããæäŒãããŸãã
- ããã«ãŒã¯åããŠã§ãã? å§ããŸãããã