New files
This commit is contained in:
@@ -0,0 +1,72 @@
|
|||||||
|
## how ot run
|
||||||
|
> sudo apt update
|
||||||
|
> sudo apt install -y build-essential python3-dev libatlas-base-dev cmake git
|
||||||
|
> mkdir -p daemon
|
||||||
|
> cd daemon
|
||||||
|
> uv init orangepi_service
|
||||||
|
> cd orangepi_service
|
||||||
|
> uv add install fastapi uvicorn chromadb sentence-transformers pypdf langchain-community python-multipart
|
||||||
|
> CMAKE_ARGS="-DLLAMA_METAL=OFF -DCMAKE_CXX_FLAGS=-march=armv8.2-a+fp16"
|
||||||
|
> FORCE_CMAKE=1
|
||||||
|
> vi ~/.config/uv/uv.toml
|
||||||
|
```
|
||||||
|
[[index]]
|
||||||
|
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
|
||||||
|
default = true
|
||||||
|
```
|
||||||
|
> export MODEL_PATH="models/qwen-0.5b-q4_k_m.gguf"
|
||||||
|
> export CHROMA_DIR="./chroma_db"
|
||||||
|
> export UPLOAD_DIR="./uploaded_pdfs"
|
||||||
|
> mkdir -p models
|
||||||
|
> wget -O models/qwen-0.5b-q4_k_m.gguf https://huggingface.co/Qwen/Qwen1.5-0.5B-GGUF/resolve/main/qwen1_5-0_5b-q4_k_m.gguf
|
||||||
|
> uv run service.py
|
||||||
|
|
||||||
|
## Set Static IP
|
||||||
|
> ip a
|
||||||
|
> sudo nano /etc/netplan/orangepi-default.yaml
|
||||||
|
```
|
||||||
|
network:
|
||||||
|
version: 2
|
||||||
|
renderer: networkd
|
||||||
|
ethernets:
|
||||||
|
enp49s0: # Replace 'eth0' with the name you found from 'ip a'
|
||||||
|
dhcp4: no # Disable DHCP client for IPv4
|
||||||
|
addresses:
|
||||||
|
- 192.168.1.101/24 # Your desired static IP and subnet mask
|
||||||
|
routes:
|
||||||
|
- to: default
|
||||||
|
via: 192.168.1.1 # Your router's gateway address
|
||||||
|
nameservers:
|
||||||
|
addresses: [8.8.8.8, 8.8.4.4] # DNS servers (e.g., Google DNS)
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
> sudo netplan try
|
||||||
|
> sudo netplan apply
|
||||||
|
> sudo nano /etc/systemd/system/orangepi_rag.service
|
||||||
|
```
|
||||||
|
[Unit]
|
||||||
|
Description=Orange Pi RAG Service
|
||||||
|
After=network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=orangepi
|
||||||
|
Environment="HF_HUB_OFFLINE=1"
|
||||||
|
Environment="TRANSFORMERS_OFFLINE=1"
|
||||||
|
WorkingDirectory=/home/orangepi/daemon/orangepi_service
|
||||||
|
Environment="PATH=/home/orangepi/daemon/orangepi_service/.venv/bin"
|
||||||
|
ExecStart=/home/orangepi/daemon/orangepi_service/.venv/bin/python service.py
|
||||||
|
Restart=always
|
||||||
|
RestartSec=10
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
> sudo systemctl daemon-reload
|
||||||
|
> sudo systemctl enable orangepi_rag.service
|
||||||
|
> sudo systemctl start orangepi_rag.service
|
||||||
|
|
||||||
|
## Test API
|
||||||
|
> curl http://0.0.0.0:8080/health
|
||||||
|
> curl -X POST http://0.0.0.0:8080/answer -H "Content-Type: application/json" -d '{"question": "What is the capital of France?"}'
|
||||||
Reference in New Issue
Block a user