# Copyright (c) Alibaba, Inc. and its affiliates. import os from typing import List os.environ['CUDA_VISIBLE_DEVICES'] = '0' def infer_batch(engine: 'InferEngine', infer_requests: List['InferRequest']): resp_list = engine.infer(infer_requests) print(f'messages0: {infer_requests[0].messages}') print(f'response0: {resp_list[0].choices[0].message.content}') if __name__ == '__main__': from swift.llm import InferEngine, InferRequest, PtEngine, load_dataset model = 'Shanghai_AI_Laboratory/internlm2-1_8b-reward' engine = PtEngine(model, max_batch_size=64) # Here, `load_dataset` is used for convenience; `infer_batch` does not require creating a dataset. dataset = load_dataset(['AI-ModelScope/alpaca-gpt4-data-zh#1000'], seed=42)[0] print(f'dataset: {dataset}') infer_requests = [InferRequest(**data) for data in dataset] infer_batch(engine, infer_requests) messages = [{ 'role': 'user', 'content': "Hello! What's your name?" }, { 'role': 'assistant', 'content': 'My name is InternLM2! A helpful AI assistant. What can I do for you?' }] infer_batch(engine, [InferRequest(messages=messages)])