from aphrodite import LLM, SamplingParams from aphrodite.prompt_adapter.request import PromptAdapterRequest # Define the model and prompt adapter paths MODEL_PATH = "bigscience/bloomz-560m" PA_PATH = 'stevhliu/bloomz-560m_PROMPT_TUNING_CAUSAL_LM' def do_sample(llm, pa_name: str, pa_id: int): # Sample prompts prompts = [ "Tweet text : @nationalgridus I have no water and the bill is \ current and paid. Can you do something about this? Label : ", "Tweet text : @nationalgridus Looks good thanks! Label : " ] # Define sampling parameters sampling_params = SamplingParams(temperature=0.0, max_tokens=3, stop_token_ids=[3]) # Generate outputs using the LLM outputs = llm.generate(prompts, sampling_params, prompt_adapter_request=PromptAdapterRequest( pa_name, pa_id, PA_PATH, 8) if pa_id else None) # Print the outputs for output in outputs: prompt = output.prompt generated_text = output.outputs[0].text.strip() print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}") def main(): # Create an LLM with prompt adapter enabled llm = LLM(MODEL_PATH, enforce_eager=True, enable_prompt_adapter=True, max_prompt_adapter_token=8) # Run the sampling function do_sample(llm, "twitter_pa", pa_id=1) if __name__ == "__main__": main()