summaryrefslogtreecommitdiff
path: root/priv/python/pyerlai/node.py
blob: b79b526c42145073fe928b241f3205376f274efc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import logging
import argparse
import os
import sys
from pyrlang import Node

from genservers.image_to_text import ImageToTextViTGPT2
from genservers.clip_ask import ClipAsk
from genservers.pil import Pil

def main():
    parser = argparse.ArgumentParser()

    parser.add_argument("host_node", help="host node")
    parser.add_argument("node", help="python node name")

    parser.add_argument("cookie", help="node cookie. prefer use NODE_COOKIE environment variable.")
    parser.add_argument("process", help="process name (pyerlai)", default="pyerlai")

    args = parser.parse_args()

    cookie = os.environ.get('NODE_COOKIE')
    if cookie is None:
        if args.cookie is None:
            sys.exit("pyerlai-python: missing NODE_COOKIE or --cookie")
        else:
            cookie = args.cookie

    logger = logging.getLogger("pyerlai-python:" + args.node)
    logging.getLogger("").setLevel(logging.DEBUG)

    logger.info("starting node")
    node = Node(node_name=args.node, cookie=cookie, hidden=True)

    ImageToTextViTGPT2(node, logger)
    ClipAsk(node, logger)
    Pil(node, logger)

    node.run()

if __name__ == "__main__":
    main()