Repository: explodinggradients/ragas
Issue: Exception when passing databricks model as the llm into evaluate function
Root cause: Interface Contract Mismatch

**Your Question**
Hi team! I am trying to pass a databricks endpoint as the llm judge to the evaluate function; but getting an error. I would appreciate any help with figuring out the issue. 

**Code Examples**
These are my metrics:

```
metrics = [
    faithfulness,
    answer_relevancy,
    answer_similarity,
    answer_correctness,
    context_recall,
    context_precision,
]
```

I create my dataset 

```
fiqa_eval = DatasetDict({"baseline": ds})
```

I define the llm judge. btw, the endpoint works when i test it.  
```
from langchain_community.chat_models import ChatDatabricks

chat_model = ChatDatabricks(endpoint="databricks-llama-2-70b-chat")
chat_model.invoke("How are you?")
```

```
result = evaluate(fiqa_eval["baseline"], metrics=metrics, embeddings=fast_embeddings, llm = chat_model)
```


**Additional context**
The error: 
```
WARNING:urllib3.connectionpool:Retrying (JitteredRetry(total=3, connect=5, read=3, redirect=5, status=5)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='oregon.cloud.databricks.com', port=443): Read timed out. (read timeout=120)")': /serving-endpoints/databricks-llama-2-70b-chat/invocations
WARNING:urllib3.connectionpool:Retrying (JitteredRetry(total=3, connect=5, read=3, redirect=5, status=5)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='oregon.cloud.databricks.com', port=443): Read timed out. (read timeout=120)")': /serving-endpoints/databricks-llama-2-70b-chat/invocations
Exception in thread Thread-13:
Traceback (most recent call last):
  File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-b2e70629-0c5d-4e00-aa8a-561f7b3ce756/lib/python3.10/site-packages/ragas/executor.py", line 75, in run
    results = self.loop.run_until_complete(self._aresults())
  File "/usr/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
    return future.result()
  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-b2e70629-0c5d-4e00-aa8a-561f7b3ce756/lib/python3.10/site-packages/ragas/executor.py", line 63, in _aresults
    raise e
  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-b2e70629-0c5d-4e00-aa8a-561f7b3ce756/lib/python3.10/site-packages/ragas/executor.py", line 58, in _aresults
    r = await future
  File "/usr/lib/python3.10/asyncio/tasks.py", line 571, in _wait_for_one
    return f.result()  # May raise f.exception().
  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-b2e70629-0c5d-4e00-aa8a-561f7b3ce756/lib/python3.10/site-packages/ragas/executor.py", line 91, in wrapped_callable_async
    return counter, await callable(*args, **kwargs)
  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-b2e70629-0c5d-4e00-aa8a-561f7b3ce756/lib/python3.10/site-packages/ragas/metrics/base.py", line 91, in ascore
    raise e
  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-b2e70629-0c5d-4e00-aa8a-561f7b3ce756/lib/python3.10/site-packages/ragas/metrics/base.py", line 87, in ascore
    score = await self._ascore(row=row, callbacks=group_cm, is_async=is_async)
  File "/local_disk0/.ephemeral_nfs/envs/pythonEnv-b2e70629-0c5d-4e00-aa8a-561f7b3ce756/lib/python3.10/site-packages/ragas/metrics/_faithfulness.py", line 190, in _ascore
    p = self._create_nli_prompt(row, statements.get("statements", []))
AttributeError: 'list' object has no attribute 'get'
```

I tried

```
from ragas.llms import LangchainLLMWrapper
dbx_chat = LangchainLLMWrapper(langchain_llm=chat_model)
```
and passed the dbx_chat to the Evaluate and got the same error.