Reward Model Deployment Configuration

Reward Model Deployment Configuration#

LightLLM supports inference for various reward models, used for evaluating conversation quality and generating reward scores. Currently supported reward models include InternLM2 Reward and Qwen2 Reward, etc.

Basic Launch Command#

python -m lightllm.server.api_server \
--port 8080 \
--model_dir ${MODEL_PATH} \
--trust_remote_code \
--use_reward_model # Enable reward model functionality (required parameter)

Testing Examples#

Python Testing Code#

import json
import requests

# InternLM2 Reward test
query = "<|im_start|>user\nHello! What's your name?<|im_end|>\n<|im_start|>assistant\nMy name is InternLM2! A helpful AI assistant. What can I do for you?<|im_end|>\n<|reward|>"

url = "http://127.0.0.1:8000/get_score"
headers = {'Content-Type': 'application/json'}

data = {
    "chat": query,
    "parameters": {
        "frequency_penalty": 1
    }
}

response = requests.post(url, headers=headers, data=json.dumps(data))

if response.status_code == 200:
    result = response.json()
    print(f"Reward score: {result['score']}")
    print(f"Input tokens: {result['prompt_tokens']}")
else:
    print(f"Error: {response.status_code}, {response.text}")

cURL Testing Command#

curl http://localhost:8000/get_score \
     -H "Content-Type: application/json" \
     -d '{
       "chat": "<|im_start|>user\nHello! What is AI?<|im_end|>\n<|im_start|>assistant\nAI stands for Artificial Intelligence, which refers to the simulation of human intelligence in machines.<|im_end|>\n<|reward|>",
       "parameters": {
         "frequency_penalty": 1
       }
     }'