import os import openai from labbench.openai_utils import OpenAIZeroShotAgent from labbench.zero_shot import BaseZeroShotAgent class AnyscaleZeroShotAgent(OpenAIZeroShotAgent): def __init__(self, model_kwargs: dict, **kwargs): BaseZeroShotAgent.__init__(self, **kwargs) self.model_kwargs = model_kwargs.copy() model = self.model_kwargs.get("model") if model is None: raise ValueError("Model must be specified for Anyscale") if model.startswith("Meta"): model = f"meta-llama/{model}" elif model.startswith(("Mixtral", "Mistral")): model = f"mistralai/{model}" self.model_kwargs["model"] = model api_key = os.environ.get("ANYSCALE_API_KEY") if api_key is None: raise ValueError( "To use an anyscale model, please set the env var ANYSCALE_API_KEY" ) self.client = openai.AsyncOpenAI( base_url="https://api.endpoints.anyscale.com/v1", api_key=os.environ["ANYSCALE_API_KEY"], )