Repository: explodinggradients/ragas
Issue: Context Precision Error using own LLMs
Root cause: Validation Gap

**Describe the bug**
A clear and concise description of what the bug is.
(1) The output of context_precision.score is blank
(2) The code is sending more than "john-doe" type of completions to the server
(3) It produces "green-tea" completions during runtime to server--> seems to be because of the template in ragas/src/metrics/_context_precision.py

Ragas version: 0.0.22
Python version: 3.10.13
VLLM version: 0.2.7

**Code to Reproduce**
Code to create vllm instance
python -m vllm.entrypoints.openai.api_server --model HuggingFaceH4/zephyr-7b-alpha --tensor-parallel-size 2 --dtype float

Share code to reproduce the issue.

from langchain.chat_models import ChatOpenAI
from ragas.llms import LangchainLLM
from datasets import load_dataset
from ragas import evaluate
import os

fiqa_eval = load_dataset("explodinggradients/fiqa", "ragas_eval")
inference_server_url = "http://0.0.0.0:8000/v1/"

print("{}------------------".format(fiqa_eval))

chat = ChatOpenAI(
    model="HuggingFaceH4/zephyr-7b-alpha",
    openai_api_key="Key Here",
    openai_api_base=inference_server_url,
    max_tokens=15,
    temperature=0,
)

vllm = LangchainLLM(chat)

from ragas.metrics import (
    context_precision,
    context_relevancy,
    answer_relevancy,
    faithfulness,
    context_recall,
)
from ragas.metrics.critique import harmfulness


faithfulness.llm = vllm
answer_relevancy.llm = vllm
context_precision.llm = vllm
context_relevancy.llm = vllm
context_recall.llm = vllm
harmfulness.llm = vllm

import pandas as pd

results = context_precision.score(fiqa_eval["baseline"].select(range(2)))
print(results)
pd.DataFrame(results).to_csv("example.csv")
print("-----------------------------")

**Error trace**

**Expected behavior**
A clear and concise description of what you expected to happen.
The output csv (example.csv) returns a column of context_precisions.


**Additional context**
Add any other context about the problem here.
During runtime, the code also produces multiple additional "complete john-doe" completion requests. See one example below. 
INFO 01-15 05:13:01 async_llm_engine.py:383] Received request cmpl-2c770c183517493ebdfec440aaa5f55d: prompt: '
\n\n\nRewrite the input into valid json\n\n\nInput:\n{\n    "name": "John Doe",\n    "age": 30,\n    "isStudent": false\n    "address": {\n        "street": "123 Main St",\n        "city": "Anytown",\n        "state": "CA",\n    }\n    "hobbies": ["reading", "swimming", "cycling"]\n}\nOutput:\n{\n    "name": "John Doe",\n    "age": 30,\n    "isStudent": false,\n    "address": {\n        "street": "123 Main St",\n        "city": "Anytown",\n        "state": "CA"\n    },\n    "hobbies": ["reading", "swimming", "cycling"]\n}\n\n\nInput:\n{\n    "statement": "The Earth is also known as "Terra" "\n}\nOutput:\n{\n    "statement": "The Earth is also known as \'Terra\'"\n}\n\nInput:\n{\n  "response": "In response to your question, yes,\n\nOutput:\n
\n
\n', sampling params: SamplingParams(n=1, best_of=1, presence_penalty=0.0, frequency_penalty=0.0, repetition_penalty=1.0, temperature=1e-08, top_p=1.0, top_k=-1, min_p=0.0, use_beam_search=False, length_penalty=1.0, early_stopping=False, stop=[], stop_token_ids=[], include_stop_str_in_output=False, ignore_eos=False, max_tokens=15, logprobs=None, prompt_logprobs=None, skip_special_tokens=True, spaces_between_special_tokens=True), prompt token ids: [1, 523, 28766, 1838, 28766, 28767, 13, 13, 13, 28754, 889, 1967, 272, 2787, 778, 3716, 7611, 13, 13, 13, 3104, 28747, 13, 28751, 13, 2287, 345, 861, 1264, 345, 14964, 2378, 28706, 548, 13, 2287, 345, 465, 1264, 28705, 28770, 28734, 28725, 13, 2287, 345, 278, 28514, 1264, 1341, 13, 2287, 345, 5540, 1264, 371, 13, 5390, 345, 12776, 299, 1264, 345, 28740, 28750, 28770, 8105, 662, 548, 13, 5390, 345, 18373, 1264, 345, 9653, 19669, 548, 13, 5390, 345, 2027, 1264, 345, 5194, 548, 13, 2287, 443, 13, 2287, 345, 28716, 17787, 497, 1264, 7367, 923, 288, 548, 345, 1616, 321, 4082, 548, 345, 21369, 288, 2242, 13, 28752, 13, 4792, 28747, 13, 28751, 13, 2287, 345, 861, 1264, 345, 14964, 2378, 28706, 548, 13, 2287, 345, 465, 1264, 28705, 28770, 28734, 28725, 13, 2287, 345, 278, 28514, 1264, 1341, 28725, 13, 2287, 345, 5540, 1264, 371, 13, 5390, 345, 12776, 299, 1264, 345, 28740, 28750, 28770, 8105, 662, 548, 13, 5390, 345, 18373, 1264, 345, 9653, 19669, 548, 13, 5390, 345, 2027, 1264, 345, 5194, 28739, 13, 2287, 1630, 13, 2287, 345, 28716, 17787, 497, 1264, 7367, 923, 288, 548, 345, 1616, 321, 4082, 548, 345, 21369, 288, 2242, 13, 28752, 13, 13, 13, 3104, 28747, 13, 28751, 13, 2287, 345, 22910, 1264, 345, 1014, 8599, 349, 835, 2651, 390, 345, 28738, 9718, 28739, 345, 13, 28752, 13, 4792, 28747, 13, 28751, 13, 2287, 345, 22910, 1264, 345, 1014, 8599, 349, 835, 2651, 390, 464, 28738, 9718, 21236, 13, 28752, 13, 13, 3104, 28747, 13, 28751, 13, 28705, 345, 4439, 1264, 345, 657, 2899, 298, 574, 2996, 28725, 5081, 28725, 13, 13, 4792, 28747, 13, 2, 28705, 13, 28789, 28766, 489, 11143, 28766, 28767, 13].
INFO 01-15 05:13:02 llm_engine.py:706] Avg prompt throughput: 525.3 tokens/s, Avg generation throughput: 20.9 tokens/s, Running: 1 reqs, Swapped: 0 reqs, Pending: 0 reqs, GPU KV cache usage: 0.5%, CPU KV cache usage: 0.0%
INFO 01-15 05:13:02 async_llm_engine.py:111] Finished request cmpl-2c770c183517493ebdfec440aaa5f55d.