ืืขืจ ืึทืจืืืงื ืืื ืืืขืื Python Gateway, ืึทื ืึธืคึฟื ืืงืืจ ืงืื ืคึผืจืืืขืงื ืคึฟืึทืจ ืื ืื ืืขืจืกืืกืืขืืก IRIS ืืึทืื ืคึผืืึทืืคืึธืจืืข. ืืขืจ ืคึผืจืืืขืงื ืึทืืึทืื ืืืจ ืฆื ืึธืจืงืขืกืืจืืจื ืงืืื ืืึทืฉืื ืืขืจื ืขื ืึทืืืขืจืืืึทืื ืืืฉืืคื ืืื ืคึผืืืืึธื (ืื ืืืืคึผื ืกืืืืืืข ืคึฟืึทืจ ืคืืืข ืืึทืืึท ืกืกืืขื ืืืกืฅ), ื ืืฆื ืคืืืข ืคืึทืจืืืง ืืืืืจืขืจืื ืฆื ืืขืฉืืืื ื ืฉืึทืคึฟื ืึทืืึทืคึผืืืื, ืจืึธืืืึทืืืง ืึทื ืึทืืืกืืก ืึทื / ืื ืกืึทืืืฉืึทื ื ืืืืฃ ืื ืื ืืขืจืกืืกืืขืืก IRIS ืคึผืืึทืืคืึธืจืืข. ืืื ืืขื ืึทืจืืืงื, ืืื ืืืขื ืืืืึทืื ืืื ืื ืืขืจืกืืกืืขืืก IRIS ืงืขื ืขื ืึธืจืงืขืกืืจืืจื ืคึผืจืึทืกืขืกืึทื ืืื ืคึผืืืืึธื, ืืคืืฉืึทื ืืื ืืืขืจืืขืื ืฆืืืื-ืืืขื ืืึทืื ืืื ืฉืึทืคึฟื ืื ืืขืืืืขื ื ืืขืฉืขืคื ืคึผืจืึทืกืขืกืึทื.
ืคึผืืึทื
- ืืงืืื.
- ืืืฉืืจืื.
- ืื ืกืืึทืืืึทืืืึธื
- API.
- ืื ืืขืจืึธืคึผืขืจืึทืืืืืื.
- ืืืฉืืคึผืืืขืจ ื ืึธืืืืืง.
- Conclusions.
- ืืื ืงืก.
- MLToolkit.
ืืงืืื
ืคึผืืืืึธื ืืื ืึท ืืืื-ืืืจืื, ืืขื ืขืจืึทื-ืฆืื ืคึผืจืึธืืจืึทืืืื ื ืฉืคึผืจืึทื ืึทืืืขื ืฆื ืคึฟืึทืจืืขืกืขืจื ืืขืืืขืืึธืคึผืขืจ ืคึผืจืึธืืืึทืงืืืืืืื ืืื ืงืึธื ืจืืืึทืืืืืื. ืืื ืืขื ืกืขืจืืข ืคืื โโโโืึทืจืืืงืืขื, ืืื ืืืขื ืืืกืงืืืืจื ืื ืคึผืึทืกืึทืืืืึทืืื ืคืื ื ืืฆื Python ืืืืฃ ืื InterSystems IRIS ืคึผืืึทืืคืึธืจืืข, ืืื ืื ืืืืคึผื ืคืึธืงืืก ืคืื ืืขื ืึทืจืืืงื ืืื ืื ื ืืฆื ืคืื Python ืืื ืึท ืฉืคึผืจืึทื ืคึฟืึทืจ ืงืจืืืืืื ื ืืื ืคืืืกื ืืืง ืืึทืฉืื ืืขืจื ืขื ืืึธืืขืืก.
ืืึทืฉืื ืืขืจื ืขื (ML) ืืื ืึท ืงืืึทืก ืคืื ืงืื ืกืืืขื ืกืืืื ืืขืืืึธืืก, ืื ืืึทืจืึทืงืืขืจืืกืืืฉ ืฉืืจืื ืคืื ืืืึธืก ืืื ื ืืฉื ืื ืืืจืขืงื ืืืืืื ื ืคืื ืึท ืคึผืจืึธืืืขื, ืึธืืขืจ ืืขืจื ืขื ืืื ืืขื ืคึผืจืึธืฆืขืก ืคืื ืกืึทืืืืื ื ืคืืืข ืขื ืืขื ืคึผืจืึธืืืขืืก.
ืืึทืฉืื ืืขืจื ืขื ืึทืืืขืจืืืึทืื ืืื ืืึธืืขืืก ืืขื ืขื ืฉืืื ืืขืจ ืืขืืืืื ืืืขื. ืขืก ืืขื ืขื ืคืืืข ืกืืืืช ืคึฟืึทืจ ืืขื, ืึธืืขืจ ืขืก ืึทืืข ืงืืื ืึทืจืึธืคึผ ืฆื ืึทืงืกืขืกืึทืืืืืื, ืคึผืึทืฉืืขืก ืืื ืืขืจืืจืืืื ืคึผืจืึทืงืืืฉ ืจืขืืืืืึทืื. ืืื ืงืืึทืกืืขืจืื ื ืึธืืขืจ ืืคืืื ื ืขืืจืึทื ื ืขืฅ ืืึธืืขืืื ื ืึท ื ืืึทืข ืืขืื ืึธืืึธืืืข?
ืคืื ืงืืจืก ื ืืฉื, ืึธืืขืจ ืืืฆื ืขืก ืืื ื ืื ืืึทืจืคึฟื ืฆื ืฉืจืืึทืื ืืื ืืขืจืืขืจ ืคืื ืืืืื ืืขืจ ืคืื ืฉืืจืืช ืคืื ืงืึธื ืฆื ืืืืคื ืึท ืืืื ืืึธืืขื, ืืื ืื ืคึผืจืืึทื ืคืื ืฉืืคื ืืื ื ืืฆื ืืึธืืขืืก ืืืขืจื ืืืืื ืืงืขืจ ืืื ืืืืื ืืงืขืจ.
ืืืฉืืจืื ืืขื ืขื ืืืืึทืืืืื ื - ืืึธืืฉ ืืืจ ืืึธื ื ืื ืืึธืื ืืึธืจ GUI-ืกืขื ืืจืืง AI / ML ืืืฉืืจืื, ืื ืคึผืจืึธืืจืขืก ืืืึธืก ืืืจ ืืึธืื ืืขืืขื ืืื ืคืืืข ืื ืืขืจืข ืงืืืกื ืคืื ืืื ืคึฟืึธืจืืึทืฆืืข ืกืืกืืขืืขื, ืึทืืึท ืืื BI (ืคืื ืฉืจืืืื ืงืึธื ืฆื ื ืืฆื ืคืจืึทืืขืืืึธืจืงืก ืืื GUI-ืกืขื ืืจืืง ืงืึทื ืคืืืืขืจืึทืืึทื ืกืึทืืืฉืึทื ื), ืืื ืืืื ืืืืขืจืงื ืืื ืืืฉืืจืื ืคึฟืึทืจ ืงืจืืืืืื ื AI / ML. ืืืจ ืืึธืื ืฉืืื ืืืจืืืขืืื ืืขื ืื ืืื ืข ืคืื โโืฉืจืืืื ืงืึธื ืืื ืืืึทื ื ืืืจ ื ืืฆื ืคืจืึทืืขืืืึธืจืงืก ืฆื ืืืืขื ืืื ืืึทื ืืึธืืขืืก.
ืื ืืขืจืข ืืืคึผืจืืืืืึทื ืฅ, ืึทืืึท ืืื ืื ืคืืืืงืืื ืฆื ืคืึทืจืฉืคึผืจืืืื ืึท ืคืึทืจ-ืืจืืื ื ืืึธืืขื ืืื ืืขืจ ืกืืฃ ืืึทื ืืฆืขืจ ืคืฉืื ืืึทืจืฃ ืขื ืืืงื ืืจืืื ืื ื ืื ืืึธืืขื ืืืืฃ ืืืืขืจ ืกืคึผืขืฆืืคืืฉ ืืึทืื, ืืึทืื ืขืก ืืจืื ืืขืจ ืฆื ืึธื ืืืืื ืืื ืืึทืฉืื ืืขืจื ืขื. ืื ืึทืืืืึทื ืกืื ืืึทืื ืืขืจื ืขื ืืึทืฉืื ืืขืจื ืขื ืคืื ืืจืื ืืขืจ ืคึฟืึทืจ ืืืืืข ืคึผืจืึธืคืขืกืกืืึธื ืึทืืก ืืื ืงืึธืืคึผืึทื ืืขืก ืืื ืึทืืืขืืืื.
ืืืืฃ ืื ืื ืืขืจืข ืืึทื ื, ืืืจ ืืขื ืขื ืงืึทืืขืงืืื ื ืืขืจ ืืื ืืขืจ ืืึทืื. ืืื ืึท ืืื ืึทืคืืื ืืึทืื ืคึผืืึทืืคืึธืจืืข ืืื InterSystems IRIS, ืึทืืข ืื ืืื ืคึฟืึธืจืืึทืฆืืข ืงืขื ืขื ืืืื ืืืืื ืฆืืืขืืจืืื ืืื ืืขืืืืื ื ืืื ืึทืจืืึทื ืฉืจืืึทื ืฆื ืืึทืฉืื ืืขืจื ืขื ืืึธืืขืืก.
ืืื ืื ืืึทื ืฆื ืื ืืืึธืืงื, ืืึธื ืืฉืื ื AI / ML ืคึผืจืึทืืืฉืขืงืก ืืื ืฉืืื ืืจืื ืืขืจ ืืื ืืืฅ. ืืืจ ืงืขื ืขื ื ืึธืจ ืคืึทืจื ืืฆื ืื ืจืขืกืืจืกื ืืืึธืก ืืืจ ืืึทืจืคึฟื. ืืขืจืฆื, ืืึทื ืง ืฆื ืื ืคึผืึทืจืึทืืขืืืืึทืืืึธื ืืขืคึฟืื ื ืืืจื ืืืึธืืงื ืคึผืืึทืืคืึธืจืืก, ืืืจ ืงืขื ืขื ืฉืคึผืึธืจื ืฆืืื ืคืืจืืจืืื.
ืึธืืขืจ ืืืึธืก ืืืขืื ืื ืจืขืืืืืึทืื? ืืืก ืืื ืืื ืื ืืืื ืืืขืจื ืืขืจ ืงืึธืืคึผืืืฆืืจื. ืขืก ืืขื ืขื ืคืืืข ืืืฉืืจืื ืคึฟืึทืจ ืื ืื ืืึธืืขืืก, ืืืึธืก ืืื ืืืขื ืืืกืงืืืืจื ืืืืึทืืขืจ. ืืืืขื ืึท ืืื ืืึธืืขื ืืื ื ืืฉื ืืจืื ื, ืึธืืขืจ ืืืึธืก ืืืืึทืืขืจ? ืืึทืื ืึท ื ืืฅ ืคืื ื ืืฆื ืึท ืืขืฉืขืคื ืืึธืืขื ืืื ืืืื ืึท ื ืื-ื ืืืืืืึทื ืึทืจืืขื. ืืขืจ ืืืึธืจืฆื ืคืื ืืขื ืคึผืจืึธืืืขื ืืื ืื ืฆืขืฉืืืืื ื ืคืื ืึทื ืึทืืืืืงืึทื ืืื ืืจืึทื ืกืึทืงืืืึธื ืึทื ืืืขืจืงืืึธืืื ืืื ืืึทืื ืืึธืืขืืก. ืืืขื ืืืจ ืืึทื ืึท ืืึธืืขื, ืืืจ ืืืืฉืึทืืืึทืื ืืึธื ืืึธืก ืืืืฃ ืืืกืืืจืืฉืข ืืึทืื. ืืืขืจ ืืขืจ ืึธืจื ืคึฟืึทืจ ืื ืงืึทื ืกืืจืึทืงืืึทื ืืึธืืขื ืืื ืืื ืืจืึทื ืกืึทืงืืืึธื ืึทื ืืึทืื ืคึผืจืึทืกืขืกืื ื. ืืืึธืก ืืื ืืื ืืขืจ ืืขืกืืขืจ ืคืจืึธืืืฉืึทืืึทื ื ืืจืึทื ืกืึทืงืืืึธื ืืืืขืงืฉืึทื ืืึธืืขื ืืืื ืืืจ ืืืืคื ืขืก ืึทืืึธื ืึท ืืึธื? ืื ืฉืืืื ืืืขืจ ืืึธืื ืฉืืื ืืึทื ื ืึทืืืขืง ืืื ืื ืืขืื. ืืืจ ืืึทืจืคึฟื ืฆื ืืึทื ืื ืืึธืืขื ืืืืฃ ืืืกืืืจืืฉืข ืืึทืื, ืึธืืขืจ ืืืจ ืืืื ืืึทืจืคึฟื ืฆื ืฆืืืืืื ืขืก ืืื ืคืึทืงืืืฉ ืฆืืื ืืืืฃ ื ืืึทืข ืื ืงืึทืืื ื ืืึทืื ืึทืืื ืึทื ืืื ืืืขืจ ืืขืฉืขืคื ืคึผืจืึทืกืขืกืึทื ืงืขื ืขื ืคืืจื ืื ืคึฟืึธืจืืืกืืึธืื ืืขืืืื ืืืจื ืื ืืึธืืขื.
ืื ML โโToolkit ืืื ืึท ืกืืื ืคืื ืืืฉืืจืื ืืืึธืก ืืืื ืฆื ืืึธื ืืึธืก: ืคืึทืจืืื ืืงื ืืึธืืขืืก ืืื ืึท ืืจืึทื ืกืึทืงืืืึธื ืึทื ืกืืืืืืข ืึทืืื ืึทื ืื ืืขืืืื ืืึธืืขืืก ืงืขื ืขื ืืืื ืืืืื ืืขืืืืื ื ืืืืึทื ืืื ืืืื ืืขืฉืขืคื ืคึผืจืึทืกืขืกืึทื. Python Gateway ืืื ืึท ืืืื ืคืื ืื ML โโToolkit ืืื ืืื ืื ืืึทืืจืืืฉืึทื ืืื ืื Python ืฉืคึผืจืึทื (ืขื ืืขื ืฆื ืืื R Gateway, ืืืืื ืึท ืืืื ืคืื ืื ML โโToolkit ืืื ืื ืืึทืืจืืืฉืึทื ืืื ืื R ืฉืคึผืจืึทื).
ืืืฉืืจืื
ืืืืืขืจ ืืืจ ืคืึธืจืืขืฆื, ืืื ืืืึธืื ืืื ืฆื ืืึทืฉืจืืึทืื ืขืืืขืืข ืคึผืืืืึธื ืืืฉืืจืื ืืื ืืืืืจืขืจืื ืืืึธืก ืืืจ ืืืขืื ื ืืฆื ืฉืคึผืขืืขืจ.
ืืขืื ืึธืืึธืืืข
- ืคึผืืืืึธื ืืื ืึทื ืื ืืขืจืคึผืจืึทืืึทื, ืืืื-ืืืจืื, ืืขื ืขืจืึทื-ืฆืื ืคึผืจืึธืืจืึทืืืื ื ืฉืคึผืจืึทื. ืืขืจ ืืืืคึผื ืืืึทืืข ืคืื โโืืขืจ ืฉืคึผืจืึทื ืืื ืื ืืจืืืก ืืืืืืึธืืขืง ืคืื ืืึทืืึทืืึทืืืงืึทื, ML ืืื AI ืืืืืจืขืจืื. ืืื ืึธืืืืฉืขืงืืกืงืจืืคึผื, ืขืก ืืื ืึท ืืืืคืขืฅ-ืึธืจืืขื ืืื ืฉืคึผืจืึทื, ืึธืืขืจ ืึทืืฅ ืืื ืืื ืึทืืืงืึทืืื ืืืคืืื ื ืืื ืกืืึทืืืงืื. ืืืื ืึทืืฅ ืืื ืึท ืืืืคืขืฅ. ืฉืคืขืืข ืจ ืืจืืืงืืข ื ืคืืจื ืขืืข ื ื ืคืืจืืฒืขื ืืืงืข ืจ ืืืงืื ื ืื ื ืืข ืจ ืฉืคืจืื . ืืืื ืืืจ ืืืืื ืฆื ืึธื ืืืืื ืืขืจื ืขื, ืืื ืจืขืงืึธืืขื ืืืจื ืฆื ืึธื ืืืืื ืืื .
- ืคึฟืึทืจ ืืื ืืืขืจ ืกืึทืืกืึทืงืืืึทื ื ืขืงืกืขืจืกืืืืื, ืฉืืขืื .
- IDE: ืืื ื ืืฆื , ืึธืืขืจ ืืื ืึทืืืขืืืื ืืื . ืืืื ืืืจ ื ืืฆื Atelier, ืขืก ืืื ืึทื Eclipse ืคึผืืืืื ืคึฟืึทืจ Python ืืขืืืขืืึธืคึผืขืจืก. ืืืื ืืืจ ื ืืฆื VS ืงืึธื, ืขืก ืืื ืึท ืคืึทืจืืขื ืืขืจืื ื ืคึฟืึทืจ Python.
- ืืขืคื: ืึทื ืฉืืึธื ืึท IDE, ืืืจ ืงืขื ืขื ืฉืจืืึทืื ืืื ืืืืื ืืืื ืกืงืจืืคึผืก ืืื ืึธื ืืืื ื ืึธืืืืืงืก. ืื ืืขืจืกื ืคืึธืืงืก ืคืื ืืื ืืื .
ืืืืจืึทืจืืขืก
ืืึธ ืืื ืึท (ื ืื ืืืืึธืกืืืื) ืจืฉืืื ืคืื ืืืืืจืขืจืื ืคึฟืึทืจ ืืึทืฉืื ืืขืจื ืขื:
- - ืึท ืคืื ืืึทืืขื ืืึทื ืคึผืขืงื ืคึฟืึทืจ ืืขื ืื ืืฉืืื ืืช.
- - ืืืื-ืคืึธืจืฉืืขืืื ื ืืึทืื ืกืืจืึทืงืืฉืขืจื ืืื ืืึทืื ืึทื ืึทืืืกืืก ืืืฉืืจืื.
- - ืฉืึทืคืื ื ืคืื ืืจืึทืคืก.
- - ืืึทืื ืืืืืฉืืืึทืืึทืืืืฉืึทื ืืืืืจื ืืืืฃ ืืึทืืคึผืืึธืืืื.
- - ืืึทืฉืื ืืขืจื ืขื ืืขืืืึธืืก.
- - ืืึทืฉืื ืืขืจื ืขื ืึทืืืขืจืืืึทืื ืืื ืื ืคืจืืืืืืขืจืง ืคืื ืื ืืจืึทืืืขื ื ืืืกืืื ื ืืขืืึทืืึทืืึทืืืฉื.
- โ NLP.
- - ื ืขืืจืึทื ื ืขืืืืึธืจืงืก.
- - ืึท ืคึผืืึทืืคืึธืจืืข ืคึฟืึทืจ ืงืจืืืืืื ื ืืึทืฉืื ืืขืจื ืขื ืืึธืืขืืก.
- ืืื ืึท ืคึผืืึทืืคืึธืจืืข ืคึฟืึทืจ ืฉืืคื ืืึทืฉืื ืืขืจื ืขื ืืึธืืขืืก ืคืึธืืงืืกื ืืืืฃ ืคึผืืืืึธื.
- - PMML ืคืื ืคืึทืจืฉืืื ืืึธืืขืืก.
AI / ML ืืขืงื ืึทืืึทืืืฉืื ืืึทืื ืืขืฉืขืคื ืืขืจ ืขืคืขืงืืืื ืืื ืึทืืึทืคึผืืึทืืึทื. ืืขืจืฆื, ืืืึทื ื ืื ืืขืงื ืึทืืึทืืืฉืื ืืืขืจื ืืจืื ืืขืจ ืฆื ืึทื ืืืืืงืืขื ืืื ืื ืกืืจืืืขื ื. ืึธื ืืืื ืืขืจื ืขื ืืืขืื AI / ML ืืขืงื ืึทืืึทืืืฉืื ืืื ืืื ืืื ืงืขื ืขื ืืขืืคึฟื ืืืื ืึธืจืืึทื ืืืึทืฆืืข ืืืึทืงืกื.
ืื ืกืืึทืืืจืื ื
ืขืก ืืขื ืขื ืขืืืขืืข ืืืขืื ืฆื ืื ืกืืึทืืืจื ืืื ื ืืฆื Python Gateway:
- ะะก
- Windows
- Linux
- ืืขืง
- ืืึธืงืงืขืจ
- ื ืืฆื ืึท ืืืื ืคึฟืื DockerHub
- ืฉืึทืคึฟื ืืืื ืืืืืขื ืข ืงืืง
ืจืขืืึทืจืืืขืกืก ืคืื ืื ืื ืกืืึทืืืจืื ื ืืืคึฟื, ืืืจ ืืืขื ืืึทืจืคึฟื ืื ืืงืืจ ืงืึธื. ืืขืจ ืืืืื ืึธืจื ืฆื ืึธืคึผืืึธืืืจื ืื ืงืึธื ืืื . ืขืก ืึผืืื ืืขืกืืขื ืกืืึทืืื ืจืืืืกืื, ื ืึธืจ ื ืขืืขื ืื ืืขืฆืืข. ืืื ืืขืจ ืืึธืืขื ื ืขืก ืืื 0.8, ืึธืืขืจ ืืื ืฆืืื ืขืก ืืืขื ืืืื ื ืืึทืข. ืืึธื ื ืื ืงืืึธืื / ืืจืืคืงืืคืืข ืื ืจืืคึผืึทืืึทืืึธืจื, ืืจืืคืงืืคืืข ืื ืืขืฆืืข ืืขืืืื ื.
ะะก
ืืืื ืืืจ ืื ืกืืึทืืืจื Python Gateway ืืืืฃ ืึทื ืึธืคึผืขืจืืืืื ื ืกืืกืืขื, ืขืจืฉืืขืจ (ืจืึทืืึทืจืืืึทืก ืคืื ืื ืึธืคึผืขืจืืืืื ื ืกืืกืืขื) ืืืจ ืืึทืจืคึฟื ืฆื ืื ืกืืึทืืืจื Python. ืคึฟืึทืจ ืืขื:
- . ืขืก ืืื ืจืขืงืึทืืขื ืืื ืฆื ืื ืกืืึทืืืจื Python ืืื ืื ืคืขืืืงืืึทื ืืืขืืืืืึทืืขืจ.
- ืื ืกืืึทืืืจื ืื ืืึธืืืืข
dill:pip install dill. - ืืจืืคืงืืคืืข ืื ObjectScript ืงืึธื (ื.ืข.
do $system.OBJ.ImportDir("C:InterSystemsReposPythoniscpy", "*.cls", "c",,1)) ืฆื ืงืืื ืืขืื ื ืืื ืคึผืจืึธืืืงืื. ืืื ืคืึทื ืืืจ ืืืืื ืึท ืืืืืกืืื ื ืืขืื ื ืฆื ืฉืืืฆื ืคึผืจืึธืืืงืื, ืืืืคื:write ##class(%EnsembleMgr).EnableNamespace($Namespace, 1). - ืคึผืืึทืฅ ืฆื ืืขืงืข
binืืืื ืื ืืขืจืกืืกืืขืืก IRIS ืืืึทืฉืคึผืื. ืื ืืืืืืึธืืขืง ืืขืงืข ืืืื ืืืื ืื ืืืฆื ืืื ืื ืืืืืขืงืขืจื ืืจืwrite ##class(isc.py.Callout).GetLib().
Windows
- ืืึทืื ืืืืขืจ ืื ืกืืืืืืข ืืืึทืืขืืืืืง
PYTHONHOMEืืืืืื ืฆื ืคึผืืืืึธื 3.6.7. - ืืึทืื ืืืืขืจ ืึทื ืื ืกืืกืืขื ืกืืืืืืข ืืืึทืืขืืืืืง ืืื
PATHืึผืืื ืึท ืืืึทืืขืืืืืงPYTHONHOME(ืึธืืขืจ ืืขืจ ืืืขืืืืืึทืืขืจ ืขืก ืืืืืื ืฆื).
Linux (Debian/Ubuntu)
- ืงืืง ืึทื ืื ืกืืืืืืข ืืืึทืืขืืืืืง ืืื
PATHืึผืืื/usr/libะธ/usr/lib/x86_64-linux-gnu. ื ืืฆื ืืขืงืข/etc/environmentืฆื ืฉืืขืื ืกืืืืืืข ืืืขืจืืึทืืึทืื. - ืืื ืคืึทื ืคืื ืืขืืช
undefined symbol: _Py_TrueStructืฉืืขืื ืื ืืึทืฉืืขืืืงืPythonLib. ืืืื ืืื ืขืก ืืื ืึท ืืจืึธืืืืขืฉืึธืึธืืื ื ืึธืคึผืืืืืื ื.
ืืขืง
- ืืขืจืืืืึทื ืืืืื Python 3.6.7 ืืื ืืขืฉืืืฆื . ืงืึธื ืืจืึธืืืจื ืื ืืืขืจืืึทืืึทืื
PATH.
ืืืื ืืืจ ืืฉืืื ืืืฉื ืกืืืืืืข ืืืขืจืืึทืืึทืื, ืจืืกืืึทืจื ืืืื ืื ืืขืจืกืืกืืขืืก ืคึผืจืึธืืืงื.
ืืึธืงืงืขืจ
ื ืืฆื ืงืึทื ืืืื ืขืจื ืืื ืึท ื ืืืขืจ ืคืื ืึทืืืืึทื ืืืืืฉืื:
- ืคึผืึธืจืืึทืืืืืื
- ืขืคืขืงืืืืืงืืึทื
- ืื ืกืืืึทืืืึธื
- ืืืืืืงืืื
- ืืืืืืืึทืืืืืื
ืืฉืขืง ืืืืก ืืขื ืคึฟืึทืจ ืืขืจ ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ื ืืฆื Docker ืืื ืื ืืขืจืกืืกืืขืืก ืคึผืจืึธืืืงืื.
ืื Python Gateway ืืืืขื ืืขื ืขื ืืขืจืืืืึทื ืงืึทื ืืืื ืขืจ ืืืืืจื 2019.4.
ืืจืืื ืืืื
ืืืืคื: docker run -d -p 52773:52773 --name irispy intersystemscommunity/irispy-community:latestืฆื ืึธืคึผืืึธืืืจื ืืื ืืืืคื Python Gateway ืืื InterSystems IRIS Community Edition. ืึทื ืก ืึทืืข.
ืฉืึทืคึฟื ืืืื ืืืืืขื ืข ืงืืง
ืฆื ืืืืขื ืึท ืืึธืงืงืขืจ ืืืื, ืืืืคื ืืื ืืขืจ ืืืึธืจืฆื ืคืื ืื ืจืืคึผืึทืืึทืืึธืจื: docker build --force-rm --tag intersystemscommunity/irispy:latest ..
ืืืจื ืคืขืืืงืืึทื, ืื ืืืื ืืื ืืขืืืื ืืืืืจื ืืืืฃ ืื ืืืื store/intersystems/iris-community:2019.4.0.383.0, ืึธืืขืจ ืืืจ ืงืขื ืขื ืืืืฉื ืืขื ืืืจื ืืึทืฉืืขืืืงื ืึท ืืืึทืืขืืืืืง IMAGE.
ืฆื ืืืืขื ืคึฟืื InterSystems IRIS, ืืืืคื: `docker build --build-arg IMAGE=store/intersystems/iris:2019.4.0.383.0 --force-rm --tag intersystemscommunity/irispy:latest ".
ื ืึธื ืืขื ืืืจ ืงืขื ืขื ืืืืคื ืื ืืึธืงืงืขืจ ืืืื:
docker run -d
-p 52773:52773
-v /<HOST-DIR-WITH-iris.key>/:/mount
--name irispy
intersystemscommunity/irispy:latest
--key /mount/iris.keyืืืื ืืืจ ื ืืฆื ืึท ืืืื ืืืืืจื ืืืืฃ ืื ืืขืจืกืืกืืขืืก IRIS ืงืึทืืืื ืืื ืึทืืืฉืึทื, ืืืจ ืงืขื ืขื ืคืึทืจืืึธืื ืืขื ืฉืืืกื.
ืืึทืืขืจืงืื ืืขื
- ืคึผืจืืืืจื ืคึผืจืึธืฆืขืก
isc.py.test.Processืกืึทืืืขืก ืึท ื ืืืขืจ ืคืื ืืืืืขืจ ืฆื ืึท ืฆืืึทืืืืืึทืืืง ืืืขืืืืืึทืืขืจ. ืืืจ ืืื ืืืขืื ืฆื ืืืืฉื ืืขื ืืจื ืฆื ืื ืืึธืื ืืขื ืืืขืืืืืึทืืขืจ. ืฆื ืืึธื ืืึธืก, ืจืขืืึทืืืจื ืื ืกืขืืืื ืืกWorkingDirืกืคึผืขืฆืืคืืฆืืจื ืื ืืึธืื ืืขื ืืืขืืืืืึทืืขืจ. - ืฆื ืึทืงืกืขืก ืื ืืขืจืืื ืึทื ืืืืคื:
docker exec -it irispy sh. - ืึทืงืกืขืก ืฆื ืื ืกืืกืืขื ืืึทื ืึทืืขืืขื ื ืืืืขืจ ืืืจื ืืึธืืื
SuperUser/SYS. - ืฆื ืืึทืืื ืืขื ืงืึทื ืืืื ืขืจ, ืืืืคื:
docker stop irispy && docker rm --force irispy.
ืืึทืฉืืขืืืงื ืื ืื ืกืืึทืืืจืื ื
ืึทืืึธื ืืืจ ืืึธืื ืืื ืกืืึทืืืจื Python Gateway, ืขืก ืืื ืืืขืจื ืฆื ืงืึธื ืืจืึธืืืจื ืึทื ืขืก ืึทืจืืขื. ืืืกืคืืจื ืืขื ืงืึธื ืืื ืื ืื ืืขืจืกืืกืืขืืก IRIS ืืืึธืงืืึทื:
set sc = ##class(isc.py.Callout).Setup()
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).
write varืืขืจ ืจืขืืืืืึทื ืืึธื ืืืื: HELLO - ืคึผืืืืึธื ืืืึทืืขืืืืืง ืืืขืจื x. ืืืื ืื ืฆืืจืืงืงืืืขื ืกืืึทืืืก sc ืืื ืึท ืืขืืช ืึธืืขืจ var ืืืืืืง, ืืฉืขืง .
ืึทืคึผื
Python Gateway ืืื ืืื ืกืืึทืืืจื ืืื ืืืจ ืืึธื ืืืขืจืึทืคืืื ืึทื ืขืก ืึทืจืืขื. ืขืก ืืื ืฆืืื ืฆื ืึธื ืืืืื ื ืืฆื ืขืก!
ืื ืืืืคึผื ืฆืืืื ื ืฆื Python ืืื isc.py.Main. ืขืก ืึธืคืคืขืจืก ืื ืคืืืืขื ืืข ืืจืืคึผืขืก ืคืื ืืขืืืึธืืก (ืึทืืข ืฆืืจืืงืงืืืขื %Status):
- ืงืึธื ืขืงืกืขืงืืืืึธื
- ืืึทืื ืึทืจืืืขืจืคืืจื
- ืึทืืืืืืขืจื
ืงืึธื ืขืงืกืขืงืืืืึธื
ืื ืืขืืืึธืืก ืืึธืื ืืืจ ืฆื ืืืกืคืืจื ืึทืจืืืืจืึทืจืืฉ ืคึผืืืืึธื ืงืึธื.
ืกืืืคึผืืขืกืืจืื ื
SimpleString - ืืึธืก ืืื ืืขืจ ืืืืคึผื ืืืคึฟื. ืขืก ื ืขืื 4 ืึทืคึผืฉืึทื ืึทื ืึทืจืืืืขื ืื:
code- ืฉืืจื ืคืื ืงืึธื ืฆื ืืืกืคืืจื. ืฉืืจื ืคืืืขืจ ืืึทืจืึทืงืืขืจ:$c(10).returnVariable- ื ืึธืืขื ืคืื ืื ืืืึทืืขืืืืืง ืฆื ืฆืืจืืงืงืืืขื.serialization- ืืื ืฆื ืกืืจืืึทืืืreturnVariable. 0 - ืฉืืจืืงื (ืคืขืืืงืืึทื), 1 - ืจืขืคึผืจ.result- ByRef ืจืขืคึฟืขืจืขื ืฅ ืฆื ืื ืืืึทืืขืืืืืง ืืื ืืืึธืก ืื ืืืขืจื ืืื ืืขืฉืจืืืreturnVariable.
ืืืืื ืืืจ ืืืื:
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).ืืื ืืขื ืืืึทืฉืคึผืื, ืืืจ ืืึทืฉืืืืขื ืฆื ืึท ืคึผืืืืึธื ืืืึทืืขืืืืืง x ืืืขืจื Hello ืืื ืืืืื ืฆื ืฆืืจืืงืงืืืขื ืื ืืืขืจื ืคืื ืึท ืคึผืืืืึธื ืืืึทืืขืืืืืง x ืฆื ืึท ืึธืืืืฉืขืงืืกืงืจืืคึผื ืืืึทืืขืืืืืง var.
ืขืงืกืขืงืืืขืงืึธืืข
ืขืงืกืขืงืืืขืงืึธืืข ืืื ืึท ืกืึทืคืขืจ ืืื ืืืืื ืืงืขืจ ืจืืกืืจืืงืืืื ืึธืืืขืจื ืึทืืืื SimpleString.
ืฉืืจืืช ืืื ืื ืื ืืขืจืกืืกืืขืืก ืืจืืก ืคึผืืึทืืคืึธืจืืข ืืขื ืขื ืืืืืืขื ืฆื 3 ืืืชืืืช, ืืื ืืืื ืืืจ ืืืืื ืฆื ืืืกืคืืจื ืึท ืืขืจ ืฉืืืง ืคืื ืงืึธื, ืืืจ ืืึทืจืคึฟื ืฆื ื ืืฆื ืคึฟืขืืขื.
ืฆืืืื ืืขื ืืช ืืขื ืขื ืื ืืขื ืืืขื:
code- ืึท ืฉืืจื ืึธืืขืจ ืืืึทื ืคืื ืคึผืืืืึธื ืงืึธื ืฆื ืืืื ืขืงืกืึทืงืืืืึทื.variable- (ืึทืคึผืฉืึทื ืึทื) ืึทืกืืื ื ืืขืจ ืจืขืืืืืึทื ืคืื ืืืจืืคืืจืื ืcodeืืขื ืคึผืืืืึธื ืืืึทืืขืืืืืง.
ืืืึทืฉืคึผืื ืฆื ื ืืฆื:
set sc = ##class(isc.py.Main).ExecuteCode("2*3", "y").ืืื ืืขื ืืืึทืฉืคึผืื, ืืืจ ืืขืจื 2 ืืืจื 3 ืืื ืฉืจืืึทืื ืื ืจืขืืืืืึทื ืฆื ืึท ืคึผืืืืึธื ืืืึทืืขืืืืืง y.
ืืึทืื ืึทืจืืืขืจืคืืจื
ืคืึธืจื ืืึทืื ืฆื ืืื ืคึฟืื ืคึผืืืืึธื.
ืคึผืืืืึธื -> ืื ืืขืจืกืืกืืขืืก ืืจืืก
ืขืก ืืขื ืขื 4 ืืืขืื ืฆื ืืึทืงืืืขื ืื ืืืขืจื ืคืื ืึท ืคึผืืืืึธื ืืืึทืืขืืืืืง ืืื InterSystems IRIS, ืืืคึผืขื ืืื ื ืืืืฃ ืื ืกืืจืืึทืืืืืืฉืึทื ืืืจ ืืึทืจืคึฟื:
Stringืคึฟืึทืจ ืคึผืฉืื ืืึทืื ืืืืคึผืก ืืื ืืืืึทืืื ื.Reprืคึฟืึทืจ ืกืืึธืจืื ื ืคึผืฉืื ืึทืืืืฉืขืงืฅ ืืื ืืืืึทืืื ื.JSONืคึฟืึทืจ ืืจืื ื ืืึทืื ืืึทื ืืคึผืืึทืืืืฉืึทื ืืืืฃ ืื InterSystems IRIS ืืืึทื.Pickleืฆื ืจืึทืืขืืืขื ืึทืืืืฉืขืงืฅ.
ืื ืืขืืืึธืืก ืืึธืื ืืืจ ืฆื ืฆืืจืืงืงืจืืื ืืืขืจืืึทืืึทืื ืคึฟืื ืคึผืืืืึธื ืืื ืึท ืฉืืจืืงื ืึธืืขืจ ืกืืจืืื.
GetVariable(variable, serialization, .stream, useString)- ืืึทืงืืืขืserializationืืืึทืืขืืืืืงvariableะฒstream. ืืืืuseStringืืื 1 ืืื ืื ืกืืจืืึทืืืืืืฉืึทื ืืื ืืขืฉืืขืื ืืืืฃ ืึท ืฉืืจืืงื, ืืขืืึธืื ืึท ืฉืืจืืงื ืืื ืืืืืขืงืขืจื ืืื ื ืืฉื ืึท ืืืึทื.GetVariableJson(variable, .stream, useString)- ืืึทืงืืืขื JSON ืกืืจืืึทืืืืืืฉืึทื ืคืื ืึท ืืืึทืืขืืืืืง.GetVariablePickle(variable, .stream, useString, useDill)- ืืึทืงืืืขื ืคึผืืงืงืืข (ืึธืืขืจ ืงืจืึธืคึผ) ืกืืจืืึทืืืืืืฉืึทื ืคืื ืึท ืืืึทืืขืืืืืง.
ืืื ืก ืคึผืจืืืืจื ืฆื ืืึทืงืืืขื ืืื ืืืขืจ ืืืขืจืืึทืืึทืื y.
set sc = ##class(isc.py.Main).GetVariable("y", , .val, 1)
write val
>6ืื ืืขืจืกืืกืืขืืก ืืจืืก -> ืคึผืืืืึธื
ืืึธืืืื ื ืืึทืื ืคืื ืื ืืขืจืกืืกืืขืืก IRIS ืืื ืคึผืืืืึธื.
ExecuteQuery(query, variable, type, namespace)- ืงืจืืืืฅ ืึท ืืึทืืึทืกืขื (ืคึผืึทื ืืึทืกdataframeืึธืืขืจlist) ืคึฟืื ืื sql ืึธื ืคึฟืจืขื ืืื ืฉืืขืื ืขืก ืฆื ืึท ืคึผืืืืึธื ืืืึทืืขืืืืืงvariable. ืคึผืืึทืกืืืง ืืขืงืisc.pyืืืื ืืืื ืื ืืืฆื ืืื ืืขืจ ืืขืื ืnamespaceโ ืื ืคืืจืืื ื ืืืขื ืืืจื ืืืืกืืขืคืืจื ืืืขืจื.ExecuteGlobal(global, variable, type, start, end, mask, labels, namespace)- ืืึธืืื ืืืืืืืข ืืึทืืglobalืคืื ืกืืืกืงืจืืคึผืstartืฆืendืืื ืคึผืืืืึธื ืืื ืึท ืืืคึผ ืืืึทืืขืืืืืงtype:list, ืึธืืขืจ ืคึผืึทื ืืึทืกdataframe. ืืึทืฉืจืืึทืืื ื ืคืื ืึทืคึผืฉืึทื ืึทื ืึทืจืืืืขื ืืmaskืืืlabelsืื ืืืฆื ืืื ืงืืึทืก ืืึทืงืืืืขื ืืืืฉืึทื ืืื ืจืืคึผืึทืืึทืืึธืจื .ExecuteClass(class, variable, type, start, end, properties, namespace)- ืืึธืืื ืงืืึทืก ืืึทืืclassืคืื ืืstartืฆืendืืื ืคึผืืืืึธื ืืื ืึท ืืืคึผ ืืืึทืืขืืืืืงtype:list, ืึธืืขืจ ืคึผืึทื ืืึทืกdataframe.properties- ืึท ืจืฉืืื (ืืขืฉืืืื ืืืจื ืงืึธืืข) ืคืื ืงืืึทืก ืคึผืจืึธืคึผืขืจืืืขืก ืืืึธืก ืืึทืจืคึฟื ืฆื ืืืื ืืึธืืืื ืืื ืื ืืึทืื ืฉืืขืื. ืืึทืกืงืก ืืขืฉืืืฆื*ะธ?. ืคืขืืืงืืึทื -*(ืึทืืข ืคึผืจืึธืคึผืขืจืืืขืก). ืคืึทืจืืึธื%%CLASSNAMEืืืื ืึธืจืืจื.ExecuteTable(table, variable, type, start, end, properties, namespace)- ืืึธืืื ืืืฉ ืืึทืืtableืคืื ืืstartืฆืendืืื ืคึผืืืืึธื.
ExecuteQuery - ืื ืืืืขืจืกืึทื (ืงืืื ืจืืืืืง SQL ืึธื ืคึฟืจืขื ืืืขื ืืืื ืืืจืืืขืืื ืืขื ืฆื ืคึผืืืืึธื). ืึธืืขืจ, ExecuteGlobal ืืื ืืืึทื ืจืึทืคึผืขืจื ExecuteClass ะธ ExecuteTable ืึทืจืืขื ืืื ืึท ื ืืืขืจ ืคืื ืจืืกืืจืืงืฉืึทื ื. ืืื ืืขื ืขื ืคืื ืคืึทืกืืขืจ (3-5 ืืื ืคืึทืกืืขืจ ืืื ืื ODBC ืฉืึธืคืขืจ ืืื 20 ืืื ืคืึทืกืืขืจ ExecuteQuery). ืืขืจ ืืื ืคึฟืึธืจืืึทืฆืืข ืืื .
ืึทืืข ืื ืืขืืืึธืืก ืฉืืืฆื ืืึทืื ืึทืจืืืขืจืคืืจื ืคืื ืงืืื ืืขืื ื. ืคึผืืึทืกืืืง ืืขืงื isc.py ืืืื ืืืื ืื ืืืฆื ืืื ืืขืจ ืฆืื ืืขืื ื.
ExecuteQuery
ExecuteQuery(request, variable, type, namespace) - ืืจืึทื ืกืคืขืจืื ื ืื ืจืขืืืืืึทืื ืคืื ืงืืื ืจืืืืืง SQL ืึธื ืคึฟืจืขื ืฆื Python. ืืึธืก ืืื ืื ืกืืึธืืึทืกื ืืึทืื ืึทืจืืืขืจืคืืจื ืืืคึฟื. ื ืืฆื ืขืก ืืืื ExecuteGlobal ืืื ืืืึทื ืจืึทืคึผืขืจื ืืขื ืขื ื ืืฉื ืื ืืืฆื.
ืืขื ืืช:
query- sql ืึธื ืคึฟืจืขื.variable- ืืขืจ ื ืึธืืขื ืคืื ืื ืคึผืืืืึธื ืืืึทืืขืืืืืง ืืื ืืืึธืก ืื ืืึทืื ืืขื ืขื ืืขืฉืจืืื.type-listืึธืืขืจ ืคึผืึทื ืืึทืกdataframe.namespaceโ ืืขืจ ืืขืื ื ืืื ืืืขืืื ืื ืคืืจืืื ื ืืืขื ืืืืกืืขืคืืจื ืืืขืจื.
ืขืงืกืขืงืืืข ืืืืืืืข
ExecuteGlobal(global, variable, type, start, end, mask, labelels, namespace) - ืคืึธืจื ืึท ืืืืืืืข ืืื ืคึผืืืืึธื.
ืืขื ืืช:
global- ืืืืืืืข ื ืึธืืขื ืึธื^variable- ืืขืจ ื ืึธืืขื ืคืื ืื ืคึผืืืืึธื ืืืึทืืขืืืืืง ืืื ืืืึธืก ืื ืืึทืื ืืขื ืขื ืืขืฉืจืืื.type-listืึธืืขืจ ืคึผืึทื ืืึทืกdataframe.start- ืืขืจ ืขืจืฉืืขืจ ืกืืืกืงืจืืคึผื ืคืื ืื ืืืืืืืข. ืืึทืืืงืข%Integer.end- ืื ืืขืฆืืข ืกืืืกืงืจืืคึผื ืคืื ืื ืืืืืืืข. ืืึทืืืงืข%Integer.mask- ืืืืืืืข ืืืขืจื ืืึทืกืงืข. ืื ืืึทืกืงืข ืงืขื ืขื ืืืื ืงืืจืฆืขืจ ืืื ืื ื ืืืขืจ ืคืื ืคืขืืืขืจ ืืื ืื ืืืืืืืข (ืืื ืืืึธืก ืคืึทื ืื ืคืขืืืขืจ ืืื ืื ืกืืฃ ืืืขื ืืืื ืกืงืืคึผื). ืืื ืฆื ืคึฟืึธืจืืึทื ืึท ืืึทืกืงืข:+ืคืึธืจื ืื ืืืขืจื ืืื ืืื.-ืืึธืคึผืงืขื ืืืขืจื.b- ืืืืืึทื ืืืคึผ (0-False, ืื ืืืืขืจืืงืข โTrue).dโ ืืึทืืข (ืคืื $horolog, ืืืืฃ Windows ืคึฟืื 1970 ืึธื Linux ืคึฟืื 1900).tโ ืฆืฒื ($ืืืจืืืื, ืกืขืงืื ืื ื ืื ืืืืืข ื ืืื).m- ืืืืืกืืึทืืคึผ (ืคืึธืจืืึทื ืฉืืจืืงื ืืึธืจ-ืืืืฉ-ืืึธื ืฉืขื: ืืื ืื: ืจืืข).
labels- ืจืฉืืื ืคืื ืืืึทื ื ืขืืขื. ืืขืจ ืขืจืฉืืขืจ ืขืืขืืขื ื ืืื ืืขืจ ื ืึธืืขื ืคืื ืื ืกืึทืืกืงืจืืคึผื.namespaceโ ืืขืจ ืืขืื ื ืืื ืืืขืืื ืื ืคืืจืืื ื ืืืขื ืืืืกืืขืคืืจื ืืืขืจื.
ExecuteClass
ืืึทื ืืืืงืืขื ืืืืขืจ ExecuteGlobal. ืืึทืืืจื ืืืืฃ ืื ืงืืึทืก ืืขืคึฟืื ืืฆืืข, ืคึผืจืืคึผืขืจื ืึท ืจืืคื ExecuteGlobal ืืื ืจืืคื ืืื.
ExecuteClass(class, variable, type, start, end, properties, namespace) - ืืืจืืคืึธืจ ืงืืึทืก ืืึทืื ืืื ืคึผืืืืึธื.
ืืขื ืืช:
class- ืงืืึทืก ื ืึธืืขืvariable- ืืขืจ ื ืึธืืขื ืคืื ืื ืคึผืืืืึธื ืืืึทืืขืืืืืง ืืื ืืืึธืก ืื ืืึทืื ืืขื ืขื ืืขืฉืจืืื.type-listืึธืืขืจ ืคึผืึทื ืืึทืกdataframe.startโ ืื ืืืืื ืื ืง ืืื .endโ ืืขืฆืื ืืืproperties- ืึท ืจืฉืืื (ืืขืฉืืืื ืืืจื ืงืึธืืข) ืคืื ืงืืึทืก ืคึผืจืึธืคึผืขืจืืืขืก ืืืึธืก ืืึทืจืคึฟื ืฆื ืืืื ืืึธืืืื ืืื ืื ืืึทืื ืฉืืขืื. ืืึทืกืงืก ืืขืฉืืืฆื*ะธ?. ืคืขืืืงืืึทื -*(ืึทืืข ืคึผืจืึธืคึผืขืจืืืขืก). ืคืึทืจืืึธื%%CLASSNAMEืืืื ืึธืจืืจื.namespaceโ ืืขืจ ืืขืื ื ืืื ืืืขืืื ืื ืคืืจืืื ื ืืืขื ืืืืกืืขืคืืจื ืืืขืจื.
ืึทืืข ืคึผืจืึธืคึผืขืจืืืขืก ืืขื ืขื ืืืจืืืขืืื ืืขื ืืื ืืื ืึทืืืฅ ืืืคึผ ืคึผืจืึธืคึผืขืจืืืขืก %Date, %Time, %Boolean ะธ %TimeStamp - ืืื ืืขื ืขื ืงืึธื ืืืขืจืืขื ืืื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืคึผืืืืึธื ืงืืืกื.
ืขืงืกืขืงืืืึทืืืข
ืืึทื ืืืืงืืขื ืืืืขืจ ExecuteClass. ืืจืึทื ืืืืืฅ โโืื ืืืฉ ื ืึธืืขื ืืื ืื ืงืืึทืก ื ืึธืืขื ืืื ืจืืคื ExecuteClass. ืืชืืื:
ExecuteTable(table, variable, type, start, end, properties, namespace) - ืคืึธืจื ืืืฉ ืืึทืื ืฆื ืคึผืืืืึธื.
ืืขื ืืช:
tableโ ืืืฉ ื ืืืขื.
ืึทืืข ืื ืืขืจืข ืืขื ืืช ืืขื ืขื ืืืจืืืขืืื ืืขื ืืื ืืื ืืขื ืขืExecuteClass.
ืืขืจืืช
ExecuteGlobal,ExecuteClassะธExecuteTableืึทืจืืขื ืืืืึทื ืฉื ืขื.ExecuteGlobal20 ืืื ืคืึทืกืืขืจ ืืืExecuteQueryืืืืฃ ืืจืืืก ืืึทืื ืฉืืขืื (ืึทืจืืืขืจืคืืจื ืฆืืื> 0.01 ืกืขืงืื ืืขืก).ExecuteGlobal,ExecuteClassะธExecuteTableืึทืจืืขื ืืืืฃ ืืืึธืืืึทืื ืืื ืืขื ืกืืจืืงืืืจ:^global(key) = $lb(prop1, prop2, ..., propN)ืืืkeyโ ืึท ืืึทื ืฅ ื ืืืขืจ.- ืคืึทืจ
ExecuteGlobal,ExecuteClassะธExecuteTableืืขืฉืืืฆื ืงืืื ืคืื ืืืึทืืืขืก%Dateืงืึธืจืึทืกืคึผืึทื ืื ืฆื ืงืืืmktimeืืื ืืขืคึผืขื ืืก ืืืืฃ ืื ืึทืก (: 1970-01-01, ืงืกื ืืืงืก-ืงืกื ืืืงืก-ืงืกื ืืืงืก, ). ื ืืฆื%TimeStampืฆื ืึทืจืืืขืจืคืืจื ืืึทืื ืึทืจืืืก ืืขื ืงืืื ืึธืืขืจ ื ืืฆื ืคึผืึทื ืืึทืก ืืึทืืึทืคืจืึทืืข ืืืืึทื ืืึธืก ืืื ืืืืื ืึท ืืืืืืขื ืืึทืืจืขื ืขืฆืื ื. - ืคืึทืจ
ExecuteGlobal,ExecuteClassะธExecuteTableืึทืืข ืึทืจืืืืขื ืื ืึทืืืฅ ืื ืืึทืื ืืงืืจ (ืืืืืืืข, ืงืืึทืก ืึธืืขืจ ืืืฉ) ืืื ืืืึทืืขืืืืืง ืืขื ืขื ืึทืคึผืฉืึทื ืึทื.
ืขืงืกืึทืืคึผืืขืก
ืืขืกื ืงืืึทืก ืึผืืื ืึท ืืขืืึธื ืืืึธืก ืืขืืึทื ืกืืจืืืฅ ืึทืืข ืืึทืื ืึทืจืืืขืจืคืืจื ืึธืคึผืฆืืขืก:
set global = "isc.py.test.PersonD"
set class = "isc.py.test.Person"
set table = "isc_py_test.Person"
set query = "SELECT * FROM isc_py_test.Person"
// ะะฑัะธะต ะฐัะณัะผะตะฝัั
set variable = "df"
set type = "dataframe"
set start = 1
set end = $g(^isc.py.test.PersonD, start)
// ะกะฟะพัะพะฑ 0: ExecuteGlobal ะฑะตะท ะฐัะณัะผะตะฝัะพะฒ
set sc = ##class(isc.py.Main).ExecuteGlobal(global, variable _ 0, type)
// ะกะฟะพัะพะฑ 1: ExecuteGlobal ั ะฐัะณัะผะตะฝัะฐะผะธ
// ะัะธ ะฟะตัะตะดะฐัะต ะณะปะพะฑะฐะปะฐ ะฝะฐะทะฒะฐะฝะธั ะฟะพะปะตะน ะทะฐะดะฐัััั ะฒัััะฝัั
// globalKey - ะฝะฐะทะฒะฐะฝะธะต ัะฐะฑััะบัะธะฟัะฐ
set labels = $lb("globalKey", "Name", "DOB", "TS", "RandomTime", "AgeYears", "AgeDecimal", "AgeDouble", "Bool")
// mask ัะพะดะตัะถะธั ะฝะฐ 1 ัะปะตะผะตะฝั ะผะตะฝััะต ัะตะผ labels ะฟะพัะพะผั ััะพ "globalKey" - ะฝะฐะทะฒะฐะฝะธะต ัะฐะฑัะบะธะฟัะฐ
// ะัะพะฟััะบะฐะตะผ %%CLASSNAME
set mask = "-+dmt+++b"
set sc = ##class(isc.py.Main).ExecuteGlobal(global, variable _ 1, type, start, end, mask, labels)
// ะกะฟะพัะพะฑ 2: ExecuteClass
set sc = ##class(isc.py.Main).ExecuteClass(class, variable _ 2, type, start, end)
// ะกะฟะพัะพะฑ 3: ExecuteTable
set sc = ##class(isc.py.Main).ExecuteTable(table, variable _ 3, type, start, end)
// ะกะฟะพัะพะฑ 4: ExecuteTable
set sc = ##class(isc.py.Main).ExecuteQuery(query, variable _ 4, type)ืจืืคื ืืขื ืืืคึฟื do ##class(isc.py.test.Person).Test() ืฆื ืืขื ืืื ืึทืืข ืืึทืื ืึทืจืืืขืจืคืืจื ืืขืืืึธืืก ืึทืจืืขื.
ืืขืืคืขืจ ืืขืืืึธืืก
GetVariableInfo(variable, serialization, .defined, .type, .length)- ืืึทืงืืืขื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ืื ืืืึทืืขืืืืืง: ืฆื ืขืก ืืื ืืืคืืื ื, ืืืึทื ืงืืึทืก ืืื ืกืืจืืึทืืืืืืฉืึทื ืืขื ื.GetVariableDefined(variable, .defined)- ืฆื ืื ืืืึทืืขืืืืืง ืืื ืืืคืืื ื.GetVariableType(variable, .type)- ืืึทืงืืืขื ืื ืงืืึทืก ืคืื ืื ืืืึทืืขืืืืืง.GetStatus()- ืืึทืงืืืขื ืืื ืืึทืืืึทืืืงื ืื ืืขืฆืืข ืืืกื ืขื ืืืืฃ ืื ืคึผืืืืึธื ืืืึทื.GetModuleInfo(module, .imported, .alias)- ืืึทืงืืืขื ืืึธืืืืข ืืืึทืืขืืืืืง ืืื ืึทืจืืึทื ืคืืจ ืกืืึทืืืก.GetFunctionInfo(function, .defined, .type, .docs, .signature, .arguments)- ืืึทืงืืืขื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ืื ืคึฟืื ืงืฆืืข.
ืื ืืขืจืึธืคึผืขืจืึทืืืืืื
ืืืจ ืืึธื ืืขืืขืจื ื ืืื ืฆื ืจืืคื Python Gateway ืคึฟืื ืื ืืืึธืงืืึทื, ืืืฆื ืืึธืื ืืื ืื ืึธื ืืืืื ื ืืฆื ืขืก ืืื ืคึผืจืึธืืืงืฆืืข. ืื ืืงืขืจ ืคึฟืึทืจ ืื ืืขืจืึทืงืืื ื ืืื Python ืืื ืืขื ืืึธืืข ืืื isc.py.ens.Operation. ืขืก ืึทืืึทืื ืืื ืื:
- ืืืกืคืืจื ืงืึธื ืืื ืคึผืืืืึธื
- ืืื / ืจืืกืืึธืจ ืคึผืืืืึธื ืงืึธื ืืขืงืกื
- ืืึธืื ืืื ืืึทืงืืืขื ืืึทืื ืคึฟืื Python
ืืืืกืืงืื, ืึท ืคึผืืืืึธื ืึธืคึผืขืจืึทืฆืืข ืืื ืึท ืจืึทืคึผืขืจ ืืืืขืจ isc.py.Main. ืึธืคึผืขืจืึทืฆืืข isc.py.ens.Operation ืืื ืื ืคืืืืงืืื ืฆื ืื ืืขืจืึทืงื ืืื ืื ืคึผืืืืึธื ืคึผืจืึธืฆืขืก ืคึฟืื InterSystems IRIS ืคึผืจืึธืืืงืื. ืคืื ืฃ ืคึฟืจืืื ืืขื ืขื ืืขืฉืืืฆื:
isc.py.msg.ExecutionRequestืฆื ืืืกืคืืจื Python ืงืึธื. ืงืขืจืisc.py.msg.ExecutionResponseืืื ืื ืืืจืืคืืจืื ื ืจืขืืืืืึทื ืืื ืื ืืืึทืืืขืก ืคืื ืื ืืขืืขืื ืืืขืจืืึทืืึทืื.isc.py.msg.StreamExecutionRequestืฆื ืืืกืคืืจื Python ืงืึธื. ืงืขืจืisc.py.msg.StreamExecutionResponseืืขืจ ืจืขืืืืืึทื ืคืื ืืืจืืคืืจืื ื ืืื ืื ืืืึทืืืขืก ืคืื ืื ืืขืืขืื ืืืขืจืืึทืืึทืื. ืึทื ืึทืืึธืisc.py.msg.ExecutionRequest, ืืืขืจ ืืงืฆืขืคืืืจื ืืื ืงืขืจื ืกืืจืืื ืื ืฉืืื ืกืืจืื ืืก.isc.py.msg.QueryRequestืฆื ืึทืจืืืขืจืคืืจื ืื ืจืขืืืืืึทื ืคืื ืขืงืกืึทืงืืืืื ื ืึท SQL ืึธื ืคึฟืจืขื. ืงืขืจืEns.Response.isc.py.msg.GlobalRequest/isc.py.msg.ClassRequest/isc.py.msg.TableRequestืคึฟืึทืจ ืืืื ืคืืจืืื ืืืืืืืข / ืงืืึทืก / ืืืฉ ืืึทืื. ืงืขืจืEns.Response.isc.py.msg.SaveRequestืฆื ืจืึทืืขืืืขื ืคึผืืืืึธื ืงืึธื ืืขืงืกื. ืงืขืจืEns.StringResponseืืื ืงืึธื ืืขืงืกื ID.isc.py.msg.RestoreRequestืฆื ืืืงืขืจื ืื ืคึผืืืืึธื ืงืึธื ืืขืงืกื.ืืื ืืขืจืฆื,
isc.py.ens.Operationืืื ืฆืืืื ืกืขืืืื ืืก:Initializer- ืกืขืืขืงืืื ื ืึท ืงืืึทืก ืืืึธืก ืืืคึผืืึทืืึทื ืฅ ืื ืฆืืืื ืisc.py.init.Abstract. ืขืก ืงืขื ืขื ืืืื ืืขื ืืฆื ืฆื ืืึธืื ืคืึทื ืืงืฉืึทื ื, ืืึทืืืฉืืื, ืงืืืกื, ืขืืง. ืขืก ืืื ืขืงืกืึทืงืืืืึทื ืึทืืึธื ืืืขื ืืขืจ ืคึผืจืึธืฆืขืก ืกืืึทืจืฅ.PythonLibโ (ื ืึธืจ ืคึฟืึทืจ Linux) ืืืื ืืืจ ืืขื ืืขืืชืื ืืืื ืืึธืื, ืฉืืขืื ืืืจ ืืืขืจื ืฆืlibpython3.6m.soืึธืืขืจ ืืคืืื ืืื ืื ืคืื ืืืขื ืฆื ืื ืคึผืืืืึธื ืืืืืืึธืืขืง.
ืฉืึทืคืื ื ืคืื ืืขืฉืขืคื ืคึผืจืึทืกืขืกืึทื
ืขืก ืืขื ืขื ืฆืืืื ืงืืืกื ืื ืืืฆื ืืืึธืก ืคืึทืกืืืึทืืืื ืื ืึทื ืืืืืงืืื ื ืคืื ืืขืฉืขืคื ืคึผืจืึทืกืขืกืึทื:
isc.py.ens.ProcessUtilsืึทืืึทืื ืืืจ ืฆื ืขืงืกืืจืึทืงื ืึทื ืึทืืืืฉืึทื ื ืคืื ืึทืงืืืืืืืขืื ืืื ืืืึทืืขืืืืืง ืกืึทืืกืืืืืฉืึทื.isc.py.util.BPEmulatorืืืื ืขืก ืืจืื ื ืฆื ืคึผืจืืืืจื ืืขืฉืขืคื ืคึผืจืึทืกืขืกืึทื ืืื Python. ืขืก ืงืขื ืขื ืืืกืคืืจื ืึท ืืขืฉืขืคื ืคึผืจืึธืฆืขืก (Python ืคึผืึทืจืฅ) ืืื ืืขื ืงืจืึทื ื ืคึผืจืึธืฆืขืก.
ืืืขืจืืึทืืึทื ืกืึทืืกืืืืืฉืึทื
ืื ืืขืฉืขืคื ืคึผืจืึทืกืขืกืึทื ืื ืืขืจืึทืืื ืคืื isc.py.ens.ProcessUtils, ืงืขื ืขื ื ืืฆื ืืขื ืืืคึฟื GetAnnotation(name) ืฆื ืืึทืงืืืขื ืื ืึทืงืืืืืืืขื ืึทื ืึธืืึทืฆืืข ืืืขืจื ืืืจื ืืืื ื ืึธืืขื. ืื ืึทืงืืืืืืืขื ืึทื ืึธืืึทืฆืืข ืงืขื ืขื ืึทื ืืืึทืืื ืืืขืจืืึทืืึทืื ืืืึธืก ืืืขื ืืืื ืงืึทืืงืืึทืืืืืื ืืืืฃ ืื ืื ืืขืจืกืืกืืขืืก ืืจืืก ืืืึทื ืืืืืขืจ ืืื ืคืึธืจื ืฆื ืคึผืืืืึธื. ืืึธ ืืื ืื ืกืื ืืึทืงืก ืคึฟืึทืจ ืืืึทืืขืืืืืง ืกืึทืืกืืืืืฉืึทื:
${class:method:arg1:...:argN}- ืืืคึฟื ืจืืคื#{expr}- ืืืกืคืืจื ืงืึธื ืืื ืึธืืืืฉืขืงืืกืงืจืืคึผื ืฉืคึผืจืึทื.
ื ืืืืฉืคึผืื ืืื ืื ืืืฆื ืืื ืื ืคึผืจืึธืืข ืืขืฉืขืคื ืคึผืจืึธืฆืขืก isc.py.test.Process, ืืืฉื , ืื ื ืืขืืืงืฒื Correlation Matrix: Graph: f.savefig(r'#{process.WorkDirectory}SHOWCASE${%PopulateUtils:Integer:1:100}.png'). ืืื ืืขื ืืืึทืฉืคึผืื:
#{process.WorkDirectory}ืงืขืจื ืื ืืืึธืจืงืืืจืขืงืืึธืจื ืคืึทืจืืึธื ืคืื ืื ืืืืคืขืฅprocess, ืืืึธืก ืืื ืึท ืืืึทืฉืคึผืื ืคืื ืื ืงืืึทืกisc.py.test.Processืืขื ืข. ืงืจืึทื ื ืืขืฉืขืคื ืคึผืจืึธืฆืขืก.${%PopulateUtils:Integer:1:100}ืจืืคื ืืื ื ืืขืืืIntegerืงืืึทืก%PopulateUtils, ืคืืจืืื ืืจืืืืขื ืื1ะธ100, ืฆืืจืืงืงืืืขื ืึท ืืจืึทืค ืื ืืึทืืืฉืขืจ ืืื ืื ืงืืื1...100.
ืคึผืจืืืืจื ืืขืฉืขืคื ืคึผืจืึธืฆืขืก
ืืขืกื ืคึผืจืึธืืืงืื ืืื ืคึผืจืืืืจื ืืขืฉืขืคื ืคึผืจืึทืกืขืกืึทื ืืขื ืขื ืื ืืืฆื ืืืจื ืคืขืืืงืืึทื ืืื ืึท ืืืื ืคืื ืื Python Gateway. ืฆื ื ืืฆื ืืื:
- ืืื ืื OS ืืืึธืงืืึทื, ืืืืคื:
pip install pandas matplotlib seaborn. - ืืื ืื ืื ืืขืจืกืืกืืขืืก ืืจืืก ืืืึธืงืืึทื, ืืืืคื:
do ##class(isc.py.test.CannibalizationData).Import()ืฆื ืคึผืืึธืืืืจื ืื ืคึผืจืึธืืข ืืึทืื. - ืงืึทืืขืจ ืคึผืจืึธืืืงืื
isc.py.test.Production. - ืฉืืงื ืืขืื ืืืคึผ
Ens.Requestะฒisc.py.test.Process.
ืืื ืก ืืขื ืืื ืขืก ืึทืืข ืึทืจืืขื ืฆืืืึทืืขื. ืขืคืขื ืขื isc.py.test.Process ืืื ืื BPL ืจืขืืึทืงืืึธืจ:

ืงืึธื ืขืงืกืขืงืืืืึธื
ืื ืืขืจืกื ืืืืืืืง ืึทืจืืืกืจืืคื ืืื ืขืงืกืึทืงืืืืื ื ืคึผืืืืึธื ืงืึธื:

ืึธื ืคึฟืจืขื ืืขืืืืื ื isc.py.msg.ExecutionRequest, ืืึธ ืืขื ืขื ืืืึทื ืคึผืจืึธืคึผืขืจืืืขืก:
Code- ืคึผืืืืึธื ืงืึธื.SeparateLines- ืฆื ืฆื ืืืืื ืื ืงืึธื ืืื ืฉืืจืืช ืคึฟืึทืจ ืืืจืืคืืจืื ื.$c(10)(n) ืืื ืืขื ืืฆื ืฆื ืืึทืืื ืืขืจ ืกืืจืื ืืก. ืืืืข ืืึธื ืึทื ืขืก ืืื ื ืืฉื ืจืขืงืึทืืขื ืืื ืฆื ืคึผืจืึธืฆืขืก ืื ืืื ืฆืข ืึธื ืืึธื ืืื ืึทืืึธื, ืื ืคึฟืื ืงืฆืืข ืืื ืืืืื ืืืขื ืฆื ืคึผืจืึธืฆืขืกdefืืื ืขื ืืขื ืืืืืืืืื ืืืืกืืจืืงื. ืคืขืืืงืืึทื0.Variables- ืึท ืจืฉืืื ืคืื ืืืขืจืืึทืืึทืื ืืืึธืก ืืืขื ืืืื ืืืกืืฃ ืฆื ืื ืขื ืืคืขืจ ืืื ืึท ืงืึธืืข.Serialization- ืืื ืฆื ืกืืจืืึทืืืืืจื ืื ืืืขืจืืึทืืึทืื ืืืึธืก ืืืจ ืืืืื ืฆื ืฆืืจืืงืงืืืขื. ืึธืคึผืฆืืขืก:Str,Repr,JSON,PickleะธDill, ืคืขืืืงืืึทืStr.
ืืื ืืื ืืืขืจ ืคืึทื, ืืืจ ื ืึธืจ ืฉืืขืื ืื ืคืึทืจืืึธื Code, ืึทืืื ืึทืืข ืื ืืขืจืข ืคึผืจืึธืคึผืขืจืืืขืก ื ืืฆื ืื ืคืขืืืงืืึทื ืืืึทืืืขืก. ืืืจ ืฉืืขืื ืขืก ืืืจื ืจืืคื process.GetAnnotation("Import pandas"), ืืืึธืก ืืื ืจืื ืืืืข ืงืขืจื ืึทื ืึทื ืึธืืึทืฆืืข ื ืึธื ืื ืืืขืจืืึทืืึทื ืกืึทืืกืืืืืฉืึทื ืืื ืืืจืืืขืงืึธืื. ื ืึธื ืึทืืข, ืื ืงืึธื import pandas as pd ืืืขื ืืืื ืืืจืืืขืืื ืืขื ืฆื ืคึผืืืืึธื. GetAnnotation ืงืขื ืืืื ื ืืฆืืง ืคึฟืึทืจ ืืึทืืื-ืฉืืจื ืคึผืืืืึธื ืกืงืจืืคึผืก, ืึธืืขืจ ืขืก ืืขื ืขื ืงืืื ืจืืกืืจืืงืฉืึทื ื ืืืืฃ ืืขื ืืืคึฟื ืคืื ืงืจืืื ืงืึธื. ืืืจ ืงืขื ืขื ืฉืืขืื ืื ืคืึทืจืืึธื Code ืืื ืงืืื ืืืขื ืืึทืงืืืขื ืคึฟืึทืจ ืืืจ.
ืืึทืงืืืขื ืืืขืจืืึทืืึทืื
ืื ืื ืืขืจ ืืฉืืงืึทืืืข ืึทืจืืืกืจืืคื ื ืืฆื isc.py.msg.ExecutionRequest - Correlation Matrix: Tabular:

ืขืก ืงืึทืืงืืึทืืืืฅ ืื ืงืึธืจืึทืืืืฉืึทื ืืึทืืจืืฅ ืืืืฃ ืื ืคึผืืืืึธื ืืืึทื ืืื ืขืงืกืืจืึทืงื ืื ืืืึทืืขืืืืืง corrmat ืฆืืจืืง ืฆื InterSystems IRIS ืืื JSON ืคึฟืึธืจืืึทื ืืืจื ืืึทืฉืืขืืืงื ืื ืืขืื ืคึผืจืึธืคึผืขืจืืืขืก:
Variables:"corrmat"Serialization:"JSON"
ืืืจ ืงืขื ืขื ืืขื ืื ืจืขืืืืืึทืื ืืื Visual Trace:

ืืื ืืืื ืืืจ ืืึทืจืคึฟื ืืขื ืืืขืจื ืืื ืื BP, ืืืจ ืงืขื ืขื ืืึทืงืืืขื ืขืก ืืื ืืึธืก: callresponse.Variables.GetAt("corrmat").
ืืึทืื ืึทืจืืืขืจืคืืจื
ืืขืจื ืึธื, ืืึธืืืจ ืจืขืื ืืืขืื ืืจืึทื ืกืคืขืจืื ื ืืึทืื ืคืื ืื ืืขืจืกืืกืืขืืก IRIS ืฆื ืคึผืืืืึธื; ืึทืืข ืจืืงืืืขืก ืคึฟืึทืจ ืืึทืื ืึทืจืืืขืจืคืืจื ืื ืกืืจืืืขื ื ืื ืฆืืืื ื isc.py.msg.DataRequestืืืึธืก ืืื ืื ืคืืืืขื ืืข ืคึผืจืึธืคึผืขืจืืืขืก:
Variable- ืึท ืคึผืืืืึธื ืืืึทืืขืืืืืง ืืื ืืืึธืก ืืึทืื ืืขื ืขื ืืขืฉืจืืื.Type- ืืืขืจืืึทืืึทื ืืืคึผ:dataframe(ืคึผืึทื ืืึทืก ืืึทืืึทืคืจืึทืืข) ืึธืืขืจlist.Namespace- ืื ืืขืื ื ืคืื ืืืึธืก ืืืจ ืืึทืงืืืขื ืืึทืื. ืคึผืืึทืกืืืง ืืขืงืisc.pyืืึธื ืืืื ืื ืืืฆื ืืื ืืขื ืืขืื ื. ืืึธืก ืงืขื ืืืื ืึท ืืขืื ื ืึธื ืคึผืจืึธืืืงื ืฉืืืฆื.
ืืึทืืืจื ืืืืฃ ืืขื ืฆืืืื ื, 4 ืงืืืกื ืคืื ืจืืงืืืขืก ืืขื ืขื ืืืคึผืืึทืืขื ืึทื:
isc.py.msg.QueryRequest- ืฉืืขืื ืื ืคืึทืจืืึธืQueryืฆื ืฉืืงื ืึท SQL ืึธื ืคึฟืจืขื.isc.py.msg.ClassRequest- ืฉืืขืื ืื ืคืึทืจืืึธืClassืฆื ืคืึธืจื ืงืืึทืก ืืึทืื.isc.py.msg.TableRequest- ืฉืืขืื ืคืึทืจืืึธืTableืฆื ืึทืจืืืขืจืคืืจื ืืืฉ ืืึทืื.isc.py.msg.GlobalRequest- ืฉืืขืื ืคืึทืจืืึธืGlobalืคึฟืึทืจ ืืืืืืืข ืืึทืื ืึทืจืืืขืจืคืืจื.
ืืื ืื ืคึผืจืึธืืข ืคึผืจืึธืฆืขืก, ืงืืง ืืื ืื ืืขืืืงืืื RAWืืื isc.py.msg.QueryRequest ืืขืืืืื ืืื ืงืึทืืฃ.

ืฉืคึผืึธืจื / ืจืืกืืึธืจืื ื ืคึผืืืืึธื ืงืึธื ืืขืงืกื
ืฆืื ืกืืฃ, ืืืจ ืงืขื ืขื ืจืึทืืขืืืขื ืื ืคึผืืืืึธื ืงืึธื ืืขืงืกื ืืื InterSystems IRIS, ืฆื ืืึธื ืืึธืก, ืืืจ ืืืขืื ืฉืืงื isc.py.msg.SaveRequest ืืื ืืขื ืืช:
Mask- ืืืืื ืืืขืจืืึทืืึทืื ืืืึธืก ืืืืึทืื ืื ืืึทืกืงืข ืืขื ืขื ืืขืจืืืขืืืขื. ืืขืฉืืืฆื*ะธ?. ืืืึทืฉืคึผืื:"Data*, Figure?"... ืคืขืืืงืืึทื*.MaxLength- ืื ืืึทืงืกืืืื ืืขื ื ืคืื ืื ืกืืึธืจื ืืืึทืืขืืืืืง. ืืืื ืื ืกืืจืืึทืืืืืืฉืึทื ืคืื ืึท ืืืึทืืขืืืืืง ืืื ืืขืจ, ืขืก ืืืขื ืืืื ืืืื ืึธืจืืจื. ืฉืืขืื ืฆื 0 ืฆื ืืึทืงืืืขื ืืืขืจืืึทืืึทืื ืคืื ืงืืื ืืขื ื. ืคืขืืืงืืึทื$$$MaxStringLength.Name- ืงืึธื ืืขืงืกื ื ืึธืืขื (ืึทืคึผืฉืึทื ืึทื).Description- ืืึทืฉืจืืึทืืื ื ืคืื ืืขื ืงืึธื ืืขืงืกื (ืึทืคึผืฉืึทื ืึทื).
ืงืขืจื Ens.StringResponse ั Id ืืขืจืืืขืืืขื ืงืึธื ืืขืงืกื. ืืื ืื ืคึผืจืึธืืข ืคึผืจืึธืฆืขืก, ืงืืง ืืื ืื ืืขืืืงืืื Save Context.
ืคึฟืึทืจืืื ืืขื ืข ืืขืื isc.py.msg.RestoreRequest ืืึธืืื ืงืึธื ืืขืงืกื ืคืื ืื ืืขืจืกืืกืืขืืก IRIS ืืื ืคึผืืืืึธื:
ContextId- ืงืึธื ืืขืงืกื ืืืขื ืืืคืืขืจ.Clear- ืืืกืืขืงื ืืขื ืงืึธื ืืขืงืกื ืืืืืขืจ ืจืืกืืึธืจืื ื.
ืืืฉืืคึผืืืขืจ ื ืึธืืืืืง
ืืื ืึทื ืึธืคึฟื ืืงืืจ ืืืขื ืึทืคึผืืึทืงืืืฉืึทื ืึทื ืึทืืึทืื ืืืจ ืฆื ืฉืึทืคึฟื ืืื ืึทืจืืืกืืขืื ื ืึธืืืืืงืก ืืื ืงืึธื, ืืืืืฉืืืึทืืึทืืืืฉืึทื ื ืืื ืืขืงืกื. ืคึผืืืืึธื ืืึทืืขืืืืึท ืึทืืึทืื ืืืจ ืฆื ืืขื ืืื ืจืขืืึทืืืจื BPL ืคึผืจืึทืกืขืกืึทื ืืื ืื ืคืึธืจืขื ืคืื ืึท ืืืฉืืคึผืืืขืจ ื ืึธืืืืืง. ืืืืข ืืึธื ืึทื ืืขืจ ื ืึธืจืืึทื ืคึผืืืืึธื 3 ืขืงืกืึทืงืืืืขืจ ืืื ืืขืจืืืืึทื ืืขื ืืฆื.
ืื ืคืึทืจืืขื ืืขืจืื ื ืึทืกืืื ืึทื ืึทื ืึทืืืืฉืึทื ื ืึทื ืืืึทืืื ืคึผืืืืึธื ืงืึธื ืืื ื ืืฆื ืึทืงืืืืืืืขื ื ืขืืขื ืืื ืคึผืจืืกืืืื ื ืืืืืขื. ืขืก ืืื ืืืฆื ืืขืืืขื ืฆื ืึทื ืืืืืงืืขื PythonGateway ืืขืฉืขืคื ืคึผืจืึทืกืขืกืึทื ืืื Jupyter Notebook. ืืึธ ืก ืืืึธืก ืืื ืืขืืืขื:
- ืฉืึทืคึฟื ื ืืึทืข ืืขืฉืขืคื ืคึผืจืึทืกืขืกืึทื
- ืืืกืืขืงื ืืขืฉืขืคื ืคึผืจืึทืกืขืกืึทื
- ืฉืึทืคึฟื ื ืืึทืข ืึทืงืืืืืืืขืื
- ืืืืฉื ืึทืงืืืืืืืขืื
- ืืืกืืขืงื ืึทืงืืืืืืืขืื
ืืึธ . ืืื ืขืืืขืืข ืกืงืจืขืขื ืฉืึธืฅ:
ืคึผืจืึธืฆืขืก Explorer

ืคึผืจืึธืฆืขืก ืจืขืืึทืงืืึธืจ

ืื ืกืืึทืืืจืื ื
- ืืืจ ืืืขื ืืึทืจืคึฟื InterSystems IRIS 2019.2+.
- ืื ืกืืึทืืืจื PythonGateway v0.8+ (ืืืืื ืคืืจืืื ืื
isc.py.util.Jupyter,isc.py.util.JupyterCheckpointsะธisc.py.ens.ProcessUtils). - ืืขืจืืืึทื ืืืงื ืื ืึธืืืืฉืขืงืืกืงืจืืคึผื ืงืึธื ืคืื ืื ืจืืคึผืึทืืึทืืึธืจื.
- ืืืืฃ
do ##class(isc.py.util.Jupyter).Install()ืืื ื ืึธืืืืื ืื ืคึผืจืึทืืคึผืก.
.
ืคืืื ืืื ืื
MLToolkit ืืื ืึท ืกืืื ืคืื ืืืฉืืจืื ืืืขืืขื ืก ืฆืื ืืื ืฆื ืคืึทืจืืื ืื ืืึธืืขืืก ืืื ืึท ืืจืึทื ืกืึทืงืืืึธื ืึทื ืกืืืืืืข ืึทืืื ืึทื ืื ืืขืืืื ืืึธืืขืืก ืงืขื ืขื ืืืื ืืืืื ืืขืืืืื ื ืืืืึทื ืืื ืืืื ืืขืฉืขืคื ืคึผืจืึทืกืขืกืึทื. Python Gateway ืืื ืึท ืืืื ืคืื MLToolkit ืืื ืืื ืื ืึทืืจืืืฉืึทื ืืื ืื Python ืฉืคึผืจืึทื, ืึทืืึทืืื ื ืืืจ ืฆื ืึธืจืงืขืกืืจืืจื ืงืืื ืืึทืฉืื ืืขืจื ืขื ืึทืืืขืจืืืึทืื ืืืฉืืคื ืืื ืคึผืืืืึธื (ืื ืืืืคึผื ืกืืืืืืข ืคึฟืึทืจ ืคืืืข ืืึทืืึท ืกืกืืขื ืืืกืฅ), ื ืืฆื ืคืืืข ืคืึทืจืืืง ืืืืืจืขืจืื ืฆื ืืขืฉืืืื ื ืฉืึทืคึฟื ืึทืืึทืคึผืืืื, ืจืึธืืืึทืืืง ืึทื ืึทืืืกืืก ืึทื / ML ืกืึทืืืฉืึทื ื ืืืืฃ ืื ืื ืืขืจืกืืกืืขืืก ืคึผืืึทืืคืึธืจืืข IRIS.
ืจืขืคึฟืขืจืขื ืฆื
MLToolkit
ืื MLToolkit ืืึทื ืืฆืขืจ ืืจืืคึผืข ืืื ืึท ืคึผืจืืืืึทื GitHub ืจืืคึผืึทืืึทืืึธืจื ืืืฉืืคื ืืื ืึท ืืืื ืคืื ืื ืื ืืขืจืกืืกืืขืืก ืคึฟืืจืืข GitHub ืึธืจืืึทื ืืืึทืฆืืข. ืขืก ืืื ืืืขื ืคึฟืึทืจ ืคืื ืืจืืืกื ืืืง ื ืืฆืขืจืก ืืืึธืก ืื ืกืืึทืืืจื, ืืขืจื ืขื ืึธืืขืจ ืฉืืื ื ืืฆื MLToolkit ืงืึทืืคึผืึธืื ืึทื ืฅ, ืึทืจืืึทื ืืขืจืขืื ื ืื Python Gateway. ืื ืืจืืคึผืข ืืื ืึท ื ืืืขืจ ืคืื ืืืคึผืืึทืืขื ืึทื ืงืึทืกืขืก (ืืื ืืงืืจ ืงืึธื ืืื ืคึผืจืืืืจื ืืึทืื) ืืื ืื ืคืขืื ืคืื ืคึฟืึทืจืงืืืฃ, ืืึทื ืืคืึทืงืืืจืื ื, ืืขืืืฆืื ืืื ืคืืืข ืื ืืขืจืข ืื ืืึทืกืืจืื. ืฆื ืคืึทืจืืื ืื ืื ML โโToolkit ืืึทื ืืฆืขืจ ืืจืืคืข, ืืืืข ืฉืืงื ืึท ืงืืจืฅ E- ืืจืืื ืฆื ืื ืคืืืืขื ืืข ืึทืืจืขืก: ืืื ืึทืจืืึทื ื ืขืืขื ืื ืคืืืืขื ืืข ืืื ืคึฟืึธืจืืึทืฆืืข ืืื ืืืื ืืจืืื:
- GitHub ื ืืืขื
- ืึธืจืืึทื ืืืึทืฆืืข (ืืืจ ืึทืจืืขื ืึธืืขืจ ืืขืจื ืขื)
- ืฉืืขืืข (ืืืื ืคืึทืงืืืฉ ืฉืืขืืข ืืื ืืืื ืึธืจืืึทื ืืืึทืฆืืข, ืึธืืขืจ "ืกืืืืขื ื" ืึธืืขืจ "ืื ืืขืคึผืขื ืืขื ื").
- ืืึทื ื
ืคึฟืึทืจ ืืขื ืข ืืืึธืก ืืึธืื ืืืืขื ืขื ืืขื ืึทืจืืืงื ืืื ืืขื ืขื ืืื ืืขืจืขืกืืจื ืืื ืื ืงืืืคึผืึทืืืืึทืืื ืคืื InterSystems IRIS ืืื ืึท ืคึผืืึทืืคืึธืจืืข ืคึฟืึทืจ ืืขืืืขืืึธืคึผืื ื ืึธืืขืจ ืืึธืกืืื ื ืงืื ืกืืืขื ืกืืืื ืืื ืืึทืฉืื ืืขืจื ืขื ืขื ืืืฉืึทื ื, ืืืจ ืืึทืื ืืืจ ืฆื ืืืกืงืืืืจื ืืขืืืขื ืกืื ืขืจืืึธืื ืืืึธืก ืืขื ืขื ืคืื ืืื ืืขืจืขืก ืฆื ืืืื ืคืึทืจื ืขืืื ื. ืืืจ ืืืขืื ืฆืืคืจืืื ืฆื ืคืื ืึทื ืืขืจืงืืืึทืื ืื ืืืืขืจืคืขื ืืฉื ืคืื ืืืื ืคืืจืืข ืืื ืฆืืืึทืืขื ืืึทืฉืืืกื ืึทื ืึทืงืฆืืข ืคึผืืึทื; ืงืึธื ืืึทืงื E- ืืจืืื ืึทืืจืขืก ืคืื ืืื ืืืขืจ AI / ML ืขืงืกืคึผืขืจื ืืึทื ืฉืึทืคึฟื - .
ืืงืืจ: www.habr.com
