Node-RED Make IoT Smart â
ð èšèª â
Node-REDå°çšã«èšèšãããAIã¢ã·ã¹ã¿ã³ãæ¡åŒµæ©èœã§ãIoTéçºãããã¹ããŒãã§å¹ççã«ããŸãã
æŠèŠ â
Node-RED Make IoT Smartã¯ãNode-REDéçºå°çšã«èšèšãããå æ¬çãªAIãšãŒãžã§ã³ãã§ããã€ã³ããªãžã§ã³ããªã³ãŒãæ¯æŽãèªååããããããŒæé©åãã¹ããŒããããã°æ©èœãæäŸããIoTéçºäœéšãåäžãããŸãããã®æ¡åŒµæ©èœã¯çŸåšãåŠç¿ããœãªã¥ãŒã·ã§ã³ãçµ±åãéçºãèšå®ã管çã®6ã€ã®äž»èŠã·ããªãªããµããŒãããŠããŸãã
æ©èœ â
ð€ AIã¢ã·ã¹ã¿ã³ã â
- ã€ã³ããªãžã§ã³ãã³ãŒãææ¡ïŒNode-REDãããŒã®ã³ã³ããã¹ã察å¿ã³ãŒãæšå¥šã
- ã¹ããŒããããŒåæïŒãããŒãåæããæé©åææ¡ãæäŸã
- èªç¶èšèªã€ã³ã¿ãŒãã§ãŒã¹ïŒèªç¶èšèªã³ãã³ãã䜿çšããŠNode-REDç°å¢ãšå¯Ÿè©±ã
- å€èšèªãµããŒãïŒäžåœèªãè±èªãæ¥æ¬èªãéåœèªãªã©ããµããŒããNode-REDã®èšèªèšå®å€æŽã«è¿œåŸã
- ãã«ããããã€ããŒãµããŒãïŒLangChain.jsãã¬ãŒã ã¯ãŒã¯ããŒã¹ã§ãOpenAIãAnthropicãGoogleãDeepSeekãªã©ã®AIã¢ãã«ããµããŒãã
- ã€ã³ããªãžã§ã³ãã¡ã¢ãªç®¡çïŒSQLiteããŒã¹ã®çæã»é·æã¡ã¢ãªã·ã¹ãã ãäŒè©±å±¥æŽããŠãŒã¶ãŒèšå®ããããŒãã¿ãŒã³ã¹ãã¬ãŒãžããµããŒãã
- ã·ããªãªããŒã¹ããã³ããïŒJSONèšå®ã«ããã·ããªãªããŒã¹ããã³ãã管çãåçãã©ã¡ãŒã¿æ³šå ¥ããµããŒãã
- MCPããŒã«çµ±åïŒModel Context ProtocolïŒMCPïŒããŒã«åŒã³åºãããµããŒãããAIã¢ã·ã¹ã¿ã³ãã®æ©èœãæ¡åŒµã
ð§ éçºããŒã« â
- ãªã¢ã«ã¿ã€ã ã³ãŒãåæïŒNode-REDãããŒã®ç¶ç¶çåæã
- èšå®ç®¡çïŒç°ãªãAIãããã€ããŒã®éäžAPIèšå®ã
- ã€ã³ã¿ã©ã¯ãã£ããµã€ãããŒïŒNode-REDãšãã£ã¿ãŒã«çµ±åãããå°çšAIã¢ã·ã¹ã¿ã³ãããã«ã
- JSONãšãã£ã¿ãŒïŒã·ã³ã¿ãã¯ã¹ãã€ã©ã€ãä»ãã®çµ±åèšå®ãã¡ã€ã«ãšãã£ã¿ãŒã
- MCPããŒã«çµ±åïŒModel Context ProtocolïŒMCPïŒããŒã«åŒã³åºãããµããŒãããAIã¢ã·ã¹ã¿ã³ãã®æ©èœãæ¡åŒµã
- LangChainããŒã«ç®¡çïŒçµ±äžããŒã«ç®¡çãã¬ãŒã ã¯ãŒã¯ãå èµããŒã«ãšMCPããŒã«ããµããŒãã
- ã·ããªãªããŒã¹ãµããŒãïŒ7ã€ã®äž»èŠã·ããªãªã®ã«ã¹ã¿ãã€ãºãµããŒãïŒ
- åŠç¿ïŒããŒããšæŠå¿µã説æãããµã³ãã«ãããŒãæäŸã
- ãœãªã¥ãŒã·ã§ã³ïŒãããŒJSONãšããŒãã€ã³ã¹ããŒã«ã¬ã€ããå«ãæ§ã ãªIoTãœãªã¥ãŒã·ã§ã³ãæäŸã
- çµ±åïŒãããã³ã«ïŒäŸïŒMQTTãModbusïŒããœãããŠã§ã¢ã®çµ±åãæ¯æŽã
- éçºïŒæ¢åã®ãããŒãšãã¡ã³ã¯ã·ã§ã³ããŒãã³ãŒããæé©åã
- èšå®ïŒNode-REDèšå®ïŒäŸïŒ
settings.js
ïŒã®å€æŽãã¬ã€ãã - 管çïŒãªã¢ãŒãã¢ã¯ã»ã¹ãGitçµ±åãããããããã€ã¡ã³ãããµããŒãã
ð ä»åŸã®æ©èœ â
- ãªã¢ãŒããããã°ïŒNode-REDãããŒã®AIæ¯æŽãªã¢ãŒããããã°ã
- ããŒã 管çïŒããŒã ç®¡çæ©èœä»ãã®å調éçºã
- é«åºŠãªåæïŒIoTã·ã¹ãã ããã©ãŒãã³ã¹ã®æ·±ãæŽå¯ã
- ã€ã³ããªãžã§ã³ããããã€ã¡ã³ãïŒAIäž»å°ã®IoTã¢ããªã±ãŒã·ã§ã³ãããã€ã¡ã³ãæŠç¥ã
ã€ã³ã¹ããŒã« â
npmããã€ã³ã¹ããŒã« â
npm install @jhe.zheng/node-red-make-iot-smart
Node-REDãã¬ãããããŒãžã£ãŒããã€ã³ã¹ããŒã« â
- Node-REDãšãã£ã¿ãŒãéããŸãã
- ã¡ãã¥ãŒ â ãã¬ããã®ç®¡çã«ç§»åããŸãã
@jhe.zheng/node-red-make-iot-smart
ãæ€çŽ¢ããŸãã- ã€ã³ã¹ããŒã«ãã¯ãªãã¯ããŸãã
- ã€ã³ã¹ããŒã«åŸãNode-REDãåèµ·åããŸãã
- ã€ã³ã¹ããŒã«åŸãNode-REDãµã€ãããŒã«æ°ããAIã¢ã·ã¹ã¿ã³ãã¿ãã衚瀺ãããŸãã
- èšå®ãã¿ã³ãã¯ãªãã¯ããŠAIãããã€ããŒãèšå®ããŸãã
- ãµããŒããããŠãããããã€ããŒããéžæããŸãïŒ
- DeepSeekïŒåŒ·åãªã³ãŒãã£ã³ã°èœåãæã€ã³ã¹ãå¹ççãªãªãã·ã§ã³ã
- OpenAIïŒæ¥çããªãŒãããGPTã¢ãã«ã
- AnthropicïŒClaudeã¢ãã«ã«ããé«åºŠãªæšè«èœåã
- APIããŒãå ¥åããé©åãªã¢ãã«ãéžæããŸãã
- èšå®åŸãAIã¢ã·ã¹ã¿ã³ãã®äœ¿çšãéå§ã§ããŸããèšå®ãä¿åããåŸãNodeREDã¯èªåçã«èšå®ããŒããçæããããšã«æ³šæããŠãã ãããNodeREDã¯ãããŒã®å€æŽã衚瀺ããããŒãžãã¯ãªãã¯ããã ãã§ãã
- AIã¢ã·ã¹ã¿ã³ããšã®å¯Ÿè©±ãéå§ããŸãããïŒ
ã¯ã€ãã¯ã¹ã¿ãŒã â
ãçŸåšã®ããŒããåæããšå ¥å â

ããµã³ãã«ãããŒãäœæããšå ¥å â

ããã«ã¹ãã§ãã¯ããšå ¥å â

èšå® â
LangSmithãããã°èšå®ïŒãªãã·ã§ã³ïŒ â
LangChainå®è¡ã®ããè¯ããããã°ãšç£èŠã®ããã«ãLangSmithãµããŒããèšå®ã§ããŸãïŒ
.env.example
ãã¡ã€ã«ã.env
ã«ã³ããŒããŸãïŒbashcp .env.example .env
.env
ãã¡ã€ã«ãç·šéããŠLangSmithèšå®ãèšå ¥ããŸãïŒenvLANGCHAIN_TRACING_V2=true LANGCHAIN_API_KEY=your_langsmith_api_key_here LANGCHAIN_PROJECT=your_project_name
Node-REDãåèµ·åããŠèšå®ãé©çšããŸãã
LangSmithã«ã¢ã¯ã»ã¹ããŠè©³çްãªå®è¡ãã¬ãŒã¹ãšãããã°æ å ±ã確èªããŸãã
泚æïŒLangSmithèšå®ã¯ãªãã·ã§ã³ã§ãããåºæ¬æ©èœã«ã¯åœ±é¿ããŸããã
äœ¿çšæ¹æ³ â
åºæ¬ãã£ããã€ã³ã¿ãŒãã§ãŒã¹ â
- AIã¢ã·ã¹ã¿ã³ããµã€ãããŒã¿ããéããŸãã
- èªç¶èšèªã§è³ªåãæç€ºãå ¥åããŸãã
- ã³ãŒãææ¡ãšèª¬æä»ãã®ã€ã³ããªãžã§ã³ããªåçãååŸããŸãã
ã·ããªãªéžæ â
- ãµã€ãããŒã®ããããããŠã³ã¡ãã¥ãŒããã·ããªãªïŒåŠç¿ããœãªã¥ãŒã·ã§ã³ãçµ±åãéçºãèšå®ã管çïŒãéžæããŸãã
- AIã¯éžæãããã·ããªãªã«åºã¥ããŠåçã調æŽããé¢é£ããŒã«ãšãããŒJSONãæäŸããŸãã
JSON/ã³ãŒãåŠç â
- 倧ããªJSONãã³ãŒãåºåã¯JSON/ã³ãŒãã衚瀺ãã¿ã³ã®åŸãã«é ãããŠUIãã¯ãªãŒã³ã«ä¿ã¡ãŸãã
- ã·ã³ã¿ãã¯ã¹ãã€ã©ã€ãä»ãã®çµ±åãšãã£ã¿ãŒã§ãããŒJSONãç·šéãã倿ŽãçŽæ¥é©çšããŸãã
ãµããŒããããŠããã·ããªãª â
ã·ããªãªæŠèŠ â
ã·ããªãª | æ¥æ¬èªå | 説æ | ãµããŒãããŒã« |
---|---|---|---|
learning | åŠç¿ã¢ãŒã | Node-REDåŠç¿ã¢ã·ã¹ã¿ã³ããæè²ã¬ã€ããšç¥èåçãæäŸ | get-flows, get-nodes, create-flow, update-flow |
solution | ãœãªã¥ãŒã·ã§ã³ã¢ãŒã | IoTãœãªã¥ãŒã·ã§ã³å°éå®¶ãæè¡ãœãªã¥ãŒã·ã§ã³ãšã¢ãŒããã¯ãã£ã¢ããã€ã¹ãæäŸ | create-flow, update-flow, get-flows, create-subflow |
integration | çµ±åã¢ãŒã | ã·ã¹ãã çµ±åå°éå®¶ãããã€ã¹æ¥ç¶ãšããŒã¿çµ±åãåŠç | create-flow, update-flow, install-node, get-node-info |
development | éçºã¢ãŒã | ã³ãŒãéçºã¢ã·ã¹ã¿ã³ããNode-REDãããŒã®äœæãšæé©åãæ¯æŽ | create-flow, update-flow, create-subflow, get-node-info, install-node, get-flow |
configuration | èšå®ã¢ãŒã | ã·ã¹ãã èšå®å°éå®¶ãNode-REDç°å¢ãšããŒãèšå®ã管ç | get_settings, update_settings, install_node, get_node_info, get_diagnostics |
management | 管çã¢ãŒã | ãããžã§ã¯ã管çã¢ã·ã¹ã¿ã³ãããããŒçµç¹ãšãããžã§ã¯ãèšç»ãæ¯æŽ | get-flows, create-flow, update-flow, create-subflow |
general | äžè¬ã¢ãŒã | äžè¬AIã¢ã·ã¹ã¿ã³ããNode-REDé¢é£ã®æ§ã ãªè³ªåãåŠç | ç¹å®ã®ããŒã«å¶éãªã |
äºåå®çŸ©ããã³ããäŸ â
ã·ããªãª | äºåå®çŸ©ããã³ãã |
---|---|
åŠç¿ã¢ãŒã | ⢠Node-REDã¯åããŠã§ããNode-REDã®åºæ¬æŠå¿µãšäž»èŠæ©èœã玹ä»ããŠãã ãã ⢠Node-REDã®ãããŒãããŒããæ¥ç¶ã«ã€ããŠèª¬æããŠãã ãã ⢠Node-REDã§æåã®ã·ã³ãã«ãªãããŒãäœæããã«ã¯ã©ãããã°ããã§ããïŒè©³çŽ°ãªæé ãæããŠãã ãã ⢠Node-REDã§ãã䜿çšãããäž»èŠããŒãã¯äœã§ããïŒããããã®æ©èœã¯äœã§ããïŒ |
ãœãªã¥ãŒã·ã§ã³ã¢ãŒã | ⢠ã¹ããŒãããŒã å¶åŸ¡ã·ã¹ãã ãèšèšããå¿
èŠããããŸããå®å
šãªIoTãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã£ãæäŸããŠãã ãã ⢠Node-REDã䜿çšããŠIndustry 4.0ããŒã¿åéã»ç£èŠã·ã¹ãã ãæ§ç¯ããã«ã¯ã©ãããã°ããã§ããïŒ â¢ ã»ã³ãµãŒããŒã¿åéãšèªåå¶åŸ¡ãå«ã蟲æ¥IoTãœãªã¥ãŒã·ã§ã³ãèšèšããŠãã ãã ⢠ã¹ããŒãã·ãã£ç°å¢ç£èŠãããã¯ãŒã¯ãæ§ç¯ãããã®ã§ãããã©ã®ãããªæè¡ãœãªã¥ãŒã·ã§ã³ãå¿ èŠã§ããïŒ |
çµ±åã¢ãŒã | ⢠Node-REDã§MQTTããã€ã¹ãšHTTP APIãçµ±åããã«ã¯ã©ãããã°ããã§ããïŒè©³çްãªçµ±åãœãªã¥ãŒã·ã§ã³ãæäŸããŠãã ãã ⢠Modbusããã€ã¹ããã»ã³ãµãŒããŒã¿ãã¯ã©ãŠãããŒã¿ããŒã¹ã«éä¿¡ããå¿ èŠããããŸããã©ã®ããã«å®è£ ããŸããïŒ â¢ JSONãXMLã«å€æããŠãµãŒãããŒãã£ã·ã¹ãã ã«éä¿¡ããããŒã¿å€æãããŒã®èšèšãæäŒã£ãŠãã ãã ⢠Node-REDã§ç°ãªããããã³ã«ãæã€è€æ°ããã€ã¹ã®çµ±äžããŒã¿åéãšåŠçãå®è£ ããã«ã¯ã©ãããã°ããã§ããïŒ |
éçºã¢ãŒã | ⢠çŸåšã®ãããŒã®è©³çްãªèª¬æãšè§£èª¬ ⢠çŸåšã®ããŒãã®è©³çްãªèª¬æãšè§£èª¬ ⢠ããŒã¿ãã£ã«ã¿ãªã³ã°ãšãã©ãŒããã倿ãå®è£ ããFunctionããŒãã³ãŒãã®äœæãæäŒã£ãŠãã ãã ⢠Node-REDã§ã«ã¹ã¿ã ããŒããäœæããã«ã¯ã©ãããã°ããã§ããïŒå®å šãªéçºæé ãæããŠãã ãã |
èšå®ã¢ãŒã | ⢠çŸåšã®NodeRedã®èšå®ã¯ã©ããªã£ãŠããŸããïŒ â¢ çŸåšã®NodeRedã®èšºæã¯ã©ããªã£ãŠããŸããïŒ â¢ ãŠãŒã¶ãŒèªèšŒãšHTTPSãå«ãNode-REDã®ã»ãã¥ãªãã£èšå®ãæ§æããã«ã¯ã©ãããã°ããã§ããïŒ â¢ Node-REDã®ããã©ãŒãã³ã¹èšå®ãæé©åããã·ã¹ãã å®è¡å¹çãåäžãããã®ãæäŒã£ãŠãã ãã ⢠Node-REDã§ãµãŒãããŒãã£ããŒãããã±ãŒãžãã€ã³ã¹ããŒã«ã»ç®¡çããã«ã¯ã©ãããã°ããã§ããïŒ â¢ Node-REDã®ãã°èšé²ãšç£èŠãèšå®ããå¿ èŠããããŸããã©ã®ããã«èšå®ããã°ããã§ããïŒ |
管çã¢ãŒã | ⢠IoTãããžã§ã¯ãã®éçºèšç»ãšãã€ã«ã¹ããŒã³ã®äœæãæäŒã£ãŠãã ãã ⢠Node-REDã§å€§èŠæš¡ãããžã§ã¯ãã®ãããŒæ§é ãæŽçã»ç®¡çããã«ã¯ã©ãããã°ããã§ããïŒ â¢ çŸåšã®ãããžã§ã¯ãã®ãªã¹ã¯ãšå質ãè©äŸ¡ããå¿ èŠããããŸããåææšå¥šäºé ãæäŸããŠãã ãã ⢠ããŒã ååNode-REDéçºæšæºãšãã¹ããã©ã¯ãã£ã¹ã確ç«ããã«ã¯ã©ãããã°ããã§ããïŒ |
äžè¬ã¢ãŒã | ⢠Node-REDãšã¯äœã§ããïŒäž»ãªç¹åŸŽãšå¿çšã·ããªãªã¯äœã§ããïŒ â¢ Node-REDã§åé¡ãçºçããŸãããåæãšè§£æ±ºçãæäŒã£ãŠãã ãã ⢠Node-REDåŠç¿ãªãœãŒã¹ãšãã¹ããã©ã¯ãã£ã¹ãæšå¥šããŠãã ãã ⢠ç¹å®ã®ããŒãºã解決ããããã«é©åãªNode-REDã·ããªãªã¢ãŒããéžæããã«ã¯ã©ãããã°ããã§ããïŒ |
ããŒã¯ãŒãã«ããã€ã³ããªãžã§ã³ãèµ·å â
ã·ããªãª | ããŒã¯ãŒã | èµ·ååäœ |
---|---|---|
éçºã¢ãŒã | ãããŒäœæããããŒçæããããŒäœæãæ°ãããã㌠| èªåçã«éçºã¢ãŒãã«åãæ¿ããå®å šãªNode-REDãããŒJSONã³ãŒããçæãã詳现ãªèª¬æãæäŸ |
èšå®ã¢ãŒã | çŸåšã®èšå®ãã·ã¹ãã èšå®ãèšå®æ å ±ãèšå®ãçŸåšã®èšå® | èªåçã«get_settingsããŒã«ãåŒã³åºããŠèšå®æ å ±ãååŸããããŒãã«åœ¢åŒã§è¡šç€º |
èšå®ã¢ãŒã | çŸåšã®èšºæãã·ã¹ãã 蚺æãèšºææ å ±ããã«ã¹ãã§ã㯠| èªåçã«get_diagnosticsããŒã«ãåŒã³åºããŠã·ã¹ãã 蚺æãå®è¡ |
åçå ¥åãã©ã¡ãŒã¿ â
ãã¹ãŠã®ã·ããªãªã¯ä»¥äžã®åçãã©ã¡ãŒã¿æ³šå ¥ããµããŒãããŸãïŒ
nodeRedVersion
- Node-REDããŒãžã§ã³æ å ±nodeVersion
- Node.jsããŒãžã§ã³æ å ±currentTime
- çŸåšã®ã¿ã€ã ã¹ã¿ã³ãselectedFlow
- çŸåšéžæãããŠãããããŒselectedNodes
- çŸåšéžæãããŠããããŒãlang
- çŸåšã®èšèªãã©ã¡ãŒã¿mcpTools
- å©çšå¯èœãªMCPããŒã«ãªã¹ã
åã·ããªãªã¯ç¹å®ã®åçãã©ã¡ãŒã¿ããµããŒãããŸãïŒ
- åŠç¿ã¢ãŒãïŒ
userLevel
ïŒãŠãŒã¶ãŒã¹ãã«ã¬ãã«ïŒ - ãœãªã¥ãŒã·ã§ã³ã¢ãŒãïŒ
projectRequirements
ïŒãããžã§ã¯ãèŠä»¶ïŒ - çµ±åã¢ãŒãïŒ
integrationTargets
ïŒçµ±åç®æšïŒ - éçºã¢ãŒãïŒ
developmentTask
ïŒéçºã¿ã¹ã¯ïŒ - èšå®ã¢ãŒãïŒ
configurationNeeds
ïŒèšå®ããŒãºïŒ - 管çã¢ãŒãïŒ
projectStatus
ïŒãããžã§ã¯ãã¹ããŒã¿ã¹ïŒ
ã·ã¹ãã ããã³ããç¹æ§ â
åã·ããªãªã¯å°éçãªã·ã¹ãã ããã³ããã§èšå®ãããAIã¢ã·ã¹ã¿ã³ãã以äžã確å®ã«å®è¡ã§ããŸãïŒ
- 圹å²å®äœïŒç¹å®ã·ããªãªã§ã®æç¢ºãªå°éç圹å²
- åºå圢åŒïŒã·ããªãªèŠä»¶ã«åºã¥ãæ§é åãããåç圢åŒ
- ããŒã«çµ±åïŒå¯Ÿå¿ããMCPããŒã«ãšNode-RED APIã®ã€ã³ããªãžã§ã³ãåŒã³åºã
- ã³ã³ããã¹ãèªèïŒåçãã©ã¡ãŒã¿ã䜿çšããããŒãœãã©ã€ãºãããæšå¥š
ã·ããªãª | 説æ |
---|---|
åŠç¿ | ããŒã/æŠå¿µã説æããåŠç¿çšã®ãµã³ãã«ãããŒãæäŸã |
ãœãªã¥ãŒã·ã§ã³ | ãããŒJSONãšããŒãã€ã³ã¹ããŒã«ã¬ã€ãä»ãã®æ§ã ãªIoTãœãªã¥ãŒã·ã§ã³ãæäŸã |
çµ±å | ãããã³ã«/ãœãããŠã§ã¢çµ±åãæ¯æŽãã察å¿ãããããŒãçæã |
éçº | æ¢åã®ãããŒãšãã¡ã³ã¯ã·ã§ã³ããŒãã³ãŒããæé©åã |
èšå® | Node-REDèšå®ïŒäŸïŒsettings.js ïŒã®å€æŽãã¬ã€ãã |
管ç | ãªã¢ãŒãã¢ã¯ã»ã¹ãGitçµ±åãããããããã€ã¡ã³ãããµããŒãã |
ãµããŒããããŠããAIãããã€ã㌠â
ãããã€ã㌠| ã¢ãã« | ç¹åŸŽ |
---|---|---|
OpenAI | GPT-3.5, GPT-4, GPT-4o | æ±çšãå¹ åºãäºææ§ |
Anthropic | Claude-3, Claude-3.5 | é«åºŠãªæšè«ãå®å šæ§éèŠ |
Gemini Pro, Gemini Flash | ãã«ãã¢ãŒãã«ã髿§èœ | |
DeepSeek | deepseek-chat, deepseek-coder | ã³ã¹ãå¹ççãã³ãŒãã£ã³ã°éèŠ |
ãã®ä» | LangChain.jsã§ãµããŒãããããã¹ãŠã®LLMãããã€ã㌠| é«ãæ¡åŒµæ§ãæè»ãªèšå® |
APIèšå® â
- APIããŒã¯ããŒã«ã«ã«æå·åãããŠä¿åãããŸãã
- è€æ°ãããã€ããŒã®èšå®ããµããŒãã
- ç°ãªããããã€ããŒãšã¢ãã«éã®ç°¡åãªåãæ¿ãã
- èšç»ãã§ãŒãºãšå®è¡ãã§ãŒãºã®åå¥ã¢ãã«èšå®ã
éçº â
ãããžã§ã¯ãæ§é â
âââ ai-sidebar.html # ã¡ã€ã³ãµã€ãããŒã€ã³ã¿ãŒãã§ãŒã¹
âââ ai-sidebar-config.json # UIèšå®
âââ make-iot-smart.html # ããŒãèšå®ãã³ãã¬ãŒã
âââ make-iot-smart.js # ããã¯ãšã³ãããŒãå®è£
âââ lib/
â âââ langchain-manager.js # ã¡ã€ã³LangChainãããŒãžã£ãŒ
â âââ memory-manager.js # SQLiteã¡ã¢ãªç®¡ç
â âââ scenario-manager.js # ã·ããªãªããŒã¹ããã³ãã管ç
âââ config/
â âââ scenarios.json # ã·ããªãªèšå®ãã¡ã€ã«
âââ data/
â âââ memory.db # SQLiteããŒã¿ããŒã¹ãã¡ã€ã«
âââ package.json # ããã±ãŒãžèšå®
æè¡ã¢ãŒããã¯ã㣠â
ãã®ãããžã§ã¯ãã¯LangChain.jsãã¬ãŒã ã¯ãŒã¯ãããŒã¹ãšããã¢ãžã¥ã©ãŒã¢ãŒããã¯ãã£èšèšã䜿çšããŠããŸãïŒ
- LangChain ManagerïŒã¡ã€ã³AIã¢ãã«ç®¡çãè€æ°LLMãããã€ããŒããµããŒã
- Memory ManagerïŒSQLiteããŒã¹ã®ã€ã³ããªãžã§ã³ãã¡ã¢ãªã·ã¹ãã ãçæã»é·æã¡ã¢ãªããµããŒã
- Scenario ManagerïŒã·ããªãªããŒã¹ããã³ãã管çãJSONèšå®ãšåçãã©ã¡ãŒã¿ããµããŒã
- Tool ManagerïŒçµ±äžããŒã«ç®¡çãã¬ãŒã ã¯ãŒã¯ãMCPããŒã«ãšå èµããŒã«ãçµ±å
- API LayerïŒRESTful APIã€ã³ã¿ãŒãã§ãŒã¹ãã¹ããªãŒãã³ã°ãã£ãããšããŒã«å®è¡ããµããŒã
è²¢ç® â
- ãªããžããªããã©ãŒã¯ããŸãã
- æ©èœãã©ã³ããäœæããŸãã
- 倿Žãè¡ãã³ãããããŸãã
- ãã«ãªã¯ãšã¹ããæåºããŸãã
ããŒãããã â
ãã§ãŒãº1ïŒå®äºïŒ â
- â AIã¢ã·ã¹ã¿ã³ãçµ±å
- â ãã«ããããã€ããŒãµããŒã
- â ã€ã³ã¿ã©ã¯ãã£ããµã€ãããŒ
- â èšå®ç®¡ç
- â ã·ããªãªããŒã¹ãµããŒã
- â LangChain.jsã¢ãŒããã¯ãã£ç§»è¡
- â SQLiteã¡ã¢ãªç®¡çã·ã¹ãã
- â MCPããŒã«çµ±å
- â çµ±äžããŒã«ç®¡çãã¬ãŒã ã¯ãŒã¯
ãã§ãŒãº2ïŒäºå®ïŒ â
- ð ãªã¢ãŒããããã°æ©èœ
- ð ããŒã ååæ©èœ
- ð é«åºŠãªãããŒåæ
- ð ã€ã³ããªãžã§ã³ããããã€ã¡ã³ãããŒã«
ãã§ãŒãº3ïŒå°æ¥ïŒ â
- ð ããŒã 管çã·ã¹ãã
- ð ãšã³ã¿ãŒãã©ã€ãºæ©èœ
- ð é«åºŠãªã»ãã¥ãªãã£ãªãã·ã§ã³
- ð ã«ã¹ã¿ã ã¢ãã«ãã¬ãŒãã³ã°
ã·ã¹ãã èŠä»¶ â
- Node.js >= 18.0.0
- Node-RED >= 2.0.0
ã©ã€ã»ã³ã¹ â
MITã©ã€ã»ã³ã¹ã®äžã§ã©ã€ã»ã³ã¹ãããŠããŸãã詳现ã«ã€ããŠã¯LICENSEãã¡ã€ã«ãåç §ããŠãã ããã
ãµããŒã â
AIéçºã¯æè¡ãšããããèžè¡ã§ãããLLMããã¹ã¿ãŒããããšã¯ç°¡åãªã¿ã¹ã¯ã§ã¯ãªããAIã¢ãã«ãããŒã¿ãã¢ããªã±ãŒã·ã§ã³ã·ããªãªã®æ·±ãçè§£ãå¿ èŠã§ããåQ&Aã»ãã·ã§ã³ã¯ç°ãªãçµæãçæããå¯èœæ§ããããåæããŒãžã§ã³ã¯å€ãã®å Žåæºè¶³ã®ãããã®ã§ã¯ãããŸããããããã³ãããšã³ãžãã¢ãªã³ã°ã®æ¹åã«ãããITãšã³ãžãã¢ã§ããããšOTãšã³ãžãã¢ã§ããããšãNode-REDãŠãŒã¶ãŒã®æ¥åžžããŒãºãåŸã ã«æºããããã«ãªããŸããããå€ãã®èå³ã®ãã人ã ããããžã§ã¯ãã«åå ããããšãæè¿ããŸãã
- åé¡å ±åïŒGitHub Issues
- ããã¥ã¡ã³ãïŒWiki
- ãã£ã¹ã«ãã·ã§ã³ïŒGitHub Discussions
äœè â
Zheng He
- EmailïŒjhe.zheng@gmail.com
- GitHubïŒ@jimmyfreecoding
- ãŠã§ããµã€ãïŒhttps://www.makeiotsmart.com
AIæ¯æŽã§IoTéçºãããã¹ããŒãã«ããŸãããïŒ