Repository: explodinggradients/ragas
Issue: UnicodeEncodeError: 'ascii' codec can't encode character '\xfc' with Ragas Evaluate
Root cause: Validation Gap

Hi,

I want to eval my Dataset but I am facing this issue: `UnicodeEncodeError: 'ascii' codec can't encode character '\xfc' in position 68: ordinal not in range(128)`

I checked if this is an issue with my dataset, but even with the "explodinggradients/amnesty_qa" dataset from the documentation I am getting this error. See here my code:

```
from datasets import load_dataset

# loading the V2 dataset
amnesty_qa = load_dataset("explodinggradients/amnesty_qa", "english_v2")
amnesty_qa = amnesty_qa['eval'].select([0, 1]) # selecting only 2 values for demonstration

from ragas.metrics import (
    answer_relevancy,
    faithfulness,
    context_recall,
    context_precision,
)

from ragas import evaluate

result = evaluate(
    amnesty_qa["eval"],
    metrics=[
        context_precision,
        faithfulness,
        answer_relevancy,
        context_recall,
    ],
)

result
```

Results in this: 

`ExceptionInRunner: The runner thread which was running the jobs raised an exeception. Read the traceback above to debug it. You can also pass `raise_exceptions=False` incase you want to show only a warning message instead.`

- I am using the most recent RAGAS version 0.1.3 (I did pip install -U ragas)
- Python version: 3.11.5
- In my notebook, I also made sure that utf8-encoding is selected:
```
import os

# Set the environment variable
os.environ['PYTHONIOENCODING'] = 'utf8'

# Verify the setting
print(os.environ['PYTHONIOENCODING'])
```

Here the error trace:
```
Exception in thread Thread-8:
Traceback (most recent call last):
  File "/Users/mweissenba001/anaconda3/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/ragas/executor.py", line 93, in run
    results = self.loop.run_until_complete(self._aresults())
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/ragas/executor.py", line 81, in _aresults
    raise e
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/ragas/executor.py", line 76, in _aresults
    r = await future
        ^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/asyncio/tasks.py", line 605, in _wait_for_one
    return f.result()  # May raise f.exception().
           ^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/ragas/executor.py", line 36, in sema_coro
    return await coro
           ^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/ragas/executor.py", line 109, in wrapped_callable_async
    return counter, await callable(*args, **kwargs)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/ragas/metrics/base.py", line 91, in ascore
    raise e
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/ragas/metrics/base.py", line 87, in ascore
    score = await self._ascore(row=row, callbacks=group_cm, is_async=is_async)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/ragas/metrics/_faithfulness.py", line 180, in _ascore
    answer_result = await self.llm.generate(
                    ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/ragas/llms/base.py", line 110, in generate
    return await loop.run_in_executor(None, generate_text)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/tenacity/__init__.py", line 289, in wrapped_f
    return self(f, *args, **kw)
           ^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/tenacity/__init__.py", line 379, in __call__
    do = self.iter(retry_state=retry_state)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/tenacity/__init__.py", line 314, in iter
    return fut.result()
           ^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/concurrent/futures/_base.py", line 449, in result
    return self.__get_result()
           ^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
    raise self._exception
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/tenacity/__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/ragas/llms/base.py", line 141, in generate_text
    return self.langchain_llm.generate_prompt(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 544, in generate_prompt
    return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 408, in generate
    raise e
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 398, in generate
    self._generate_with_cache(
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 577, in _generate_with_cache
    return self._generate(
           ^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/langchain_openai/chat_models/base.py", line 451, in _generate
    response = self.client.create(messages=message_dicts, **params)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/openai/_utils/_utils.py", line 275, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/openai/resources/chat/completions.py", line 663, in create
    return self._post(
           ^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/openai/_base_client.py", line 1200, in post
    return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/openai/_base_client.py", line 889, in request
    return self._request(
           ^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/openai/_base_client.py", line 910, in _request
    request = self._build_request(options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/openai/_base_client.py", line 452, in _build_request
    headers = self._build_headers(options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/openai/_base_client.py", line 413, in _build_headers
    headers = httpx.Headers(headers_dict)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/httpx/_models.py", line 70, in __init__
    self._list = [
                 ^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/httpx/_models.py", line 74, in <listcomp>
    normalize_header_value(v, encoding),
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mweissenba001/anaconda3/lib/python3.11/site-packages/httpx/_utils.py", line 53, in normalize_header_value
    return value.encode(encoding or "ascii")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'ascii' codec can't encode character '\xfc' in position 68: ordinal not in range(128)
```