rllm.llm.Enhancer

class rllm.llm.Enhancer(prompt: BasePromptTemplate | None = None, llm: LLM | None = None, llm_embed: LLM | None = None, type: Literal['explanation|embedding', 'explanation', 'embedding'] | None = 'explanation|embedding')[source]

Bases: object

Enhancer for relational data. Data should be organized into a pandas.dataframe format. If attribute type is ‘explanation|embedding’, enhancer will explain them firstly and embedding them into vectors.

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

  • llm (rllm.llm.llm_module.general_llm.LLM) – The llm used for explanation, it is recommended to be initialized with LangChain. Only useful in explanation step.

  • llm_embed (rllm.llm.llm_module.general_llm.LLM) – The llm used for embedding, it is recommended to be initialized with LangChain. Only useful in embedding step.

  • (Optional[ (type) – Literal[‘explanation|embedding’, ‘explanation’, ‘embedding’] ]): Task type, default type is ‘explanation|embedding’.

Explanation|Embedding:

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

data = pd.read_csv('data.csv')
scenario = 'Your_task_description'
llm = LangChainLLM(OpenAI(openai_api_key="YOUR_API_KEY"))
llm_embed = LangChainLLM(
    OpenAIEmbeddings(openai_api_key="YOUR_API_KEY")
)

enhancer = Enhancer(
    llm=llm, llm_embed=llm_embed, type='explanation|embedding'
)
outputs = enhancer(data.head(10), scenario=scenario)

Explanation:

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

data = pd.read_csv('data.csv')
scenario = 'Your_task_description'
llm = LangChainLLM(OpenAI(openai_api_key="YOUR_API_KEY"))

enhancer = Enhancer(llm=llm, type='explanation')
outputs = enhancer(data.head(10), scenario=scenario)

Embedding:

import pandas as pd
from langchain.embeddings import OpenAIEmbeddings
from rllm.llm import LangChainLLM, Enhancer

data = pd.read_csv('data.csv')
scenario = 'Your_task_description'
llm = LangChainLLM(OpenAIEmbeddings(openai_api_key="YOUR_API_KEY"))

enhancer = Enhancer(llm_embed=llm, type='embedding')
# Embedding columns 'text' and 'explanation'
outputs = enhancer(data, cols=['text', 'explanation'])