Implementing New LLM ClientsΒΆ
To implement a new LLM client, you need to implement the base class etalon.llm_client.BaseLLMClient
and decorate it as a ray actor.
from etalon.llm_client import BaseLLMClient
import ray
@ray.remote
class CustomLLMClient(BaseLLMClient):
def send_llm_request(self, request_config: RequestConfig) -> Tuple[Metrics, str, RequestConfig]:
"""Make a single completion request to a LLM API
Returns:
Metrics about the performance charateristics of the request.
The text generated by the request to the LLM API.
The request_config used to make the request. This is mainly for logging purposes.
"""
...