myshell-ai/AIlice

AIlice start error

Closed this issue · 2 comments

install through docker.

ailice_web --modelID=hf:openchat/openchat_3.5 --prompt="main" --quantization=8bit --contextWindowRatio=0.6                                   

config.json is located at /home/hakuju/.config/ailice/config.json
In order to simplify installation and usage, we have set local execution as the default behavior, which means AI has complete control over the local environment. To prevent irreversible losses due to potential AI errors, you may consider one of the following two methods: the first one, run AIlice in a virtual machine; the second one, install Docker, use the provided Dockerfile to build an image and container, and modify the relevant configurations in config.json. For detailed instructions, please refer to the documentation.
The port range of the ext-modules has been changed from 2005-2016 to 59000-59200. If you are using an old version, startup failure will occur after updating the code. Please modify the port number in config.json and rebuild the docker image.
kill: (1198047): 不允许的操作 // not allowed operation
kill: (1212154): 没有那个进程 //no such process
scripter  started.
Encountered an exception, AIlice is exiting: 'storage'
  File "/data/AIlice/ailice/AIliceWeb.py", line 96, in main
    mainLoop(**kwargs)
  File "/data/AIlice/ailice/AIliceWeb.py", line 42, in mainLoop
    clientPool.Init()
  File "/data/AIlice/ailice/common/ARemoteAccessors.py", line 10, in Init
    storage = config.services['storage']['addr']

config.json:

"maxMemory": {},
  "quantization": null,
  "openaiGPTKey": null,
  "temperature": 0.0,
  "flashAttention2": false,
  "speechOn": false,
  "contextWindowRatio": 0.6,
  "services": {
    "scripter": {
      "cmd": "docker start scripter",
      "addr": "tcp://127.0.0.1:59000"
    }
  }
}

cpu: arm64,
os: ubuntu 20.04

This is because "storage" is essential for the operation of AIlice. Typically, we do not remove items from the configuration file. In the future, we will make the configuration of peripheral modules more flexible.
If you want to install a minimal AIlice in Docker, containing only "scripter," and have it serve the AIlice running on the host, it's a good idea. However, this is not currently supported. The current workaround is to manually copy the necessary files into the container or just use the Dockerfile provided by AIlice (Please note that this Dockerfile only provides a running environment for the scripter, not the entire AIlice. It will include the scripter's code files when building).
Hope this solves your problem.

This is because "storage" is essential for the operation of AIlice. Typically, we do not remove items from the configuration file. In the future, we will make the configuration of peripheral modules more flexible. If you want to install a minimal AIlice in Docker, containing only "scripter," and have it serve the AIlice running on the host, it's a good idea. However, this is not currently supported. The current workaround is to manually copy the necessary files into the container or just use the Dockerfile provided by AIlice (Please note that this Dockerfile only provides a running environment for the scripter, not the entire AIlice. It will include the scripter's code files when building). Hope this solves your problem.

Well, thank you for your answer.
I found it's because I build the config.json manualy before I run AIlice. So I got an incomplete config.json.
I delete the ~/.config/ailice/config.json file and restart it, and it worked now.