rllm.llm.Predictor

class rllm.llm.Predictor(prompt: BasePromptTemplate | None = None, llm: LLM | None = None, type: Literal['classification', 'regression'] | None = None)[source]

Bases: object

Predictor for relational data. Data should be organized into a pandas.dataframe format, with any prediction labels removed if present.

Parameters:
  • prompt (Optional[rllm.llm.prompt.base.BasePromptTemplate]) – The prompt to instruct llm make prediction.

  • llm (rllm.llm.llm_module.general_llm.LLM) – The llm used for prediction, it is recommended to be initialized with LangChain.

  • type (Optional[Literal['classification', 'regression']]) – Task type.

import pandas as pd
from langchain_openai import OpenAI
from rllm.llm import LangChainLLM, Predictor

# labels in dataframe should be removed.
data = pd.read_csv('data.csv')
scenario = 'Your_task_description'
labels = 'Your_task_labels'
llm = LangChainLLM(OpenAI(openai_api_key="YOUR_API_KEY"))

predictor = Predictor(llm=llm, type='classification')
outputs = predictor(data.head(10), scenario=scenario, labels=labels)