Repository: explodinggradients/ragas
Issue: No module named 'ragas.llms.prompt' to create custom Prompt for any metrics
Root cause: Documentation Deficiency

I have checked the [documentation](https://docs.ragas.io/) and related resources and couldn't resolve my bug.

**Describe the bug**


Ragas version: `'0.2.6'`
Python version:`Python 3.12.3`

**Code to Reproduce**
`from ragas.llms.prompt import Prompt`

**Error trace**
ModuleNotFoundError: No module named 'ragas.llms.prompt'

**Expected behavior**

```
long_form_answer_prompt_new = Prompt(
    name="long_form_answer_new_v1",
    instruction="Create one or more statements from each sentence in the given answer.",
    examples=[
        {
            "question": "Which is the only planet in the solar system that has life on it?",
            "answer": "earth",
            "statements": {
                "statements": [
                    "Earth is the only planet in the solar system that has life on it."
                ]
            },
        },
        {
            "question": "Were Hitler and Benito Mussolini of the same nationality?",
            "answer": "Sorry, I can't provide an answer to that question.",
            "statements": {
                "statements": []
            },
        },
    ],
    input_keys=["question", "answer"],
    output_key="statements",
    output_type="json",
)

from ragas.metrics import faithfulness

faithfulness.long_form_answer_prompt = long_form_answer_prompt_new
print(faithfulness.long_form_answer_prompt.to_string())
```

**Additional context**
What is the ideal way to create custom prompt and pass it to any RAGAS metrics example faithfullness

@jjmachan 


I also have the same problem.


Hi @pratikchhapolika @chenzf11 ,

We have a section in our [docs](https://docs.ragas.io/en/latest/howtos/customizations/metrics/_modifying-prompts-metrics/) that explains how to change the prompt for the Ragas metrics. You can also have a look at the reference below:

```python
from ragas.metrics import Faithfulness

scorer = Faithfulness(llm=evaluator_llm)
scorer.get_prompts()
```
Output
```
{'n_l_i_statement_prompt': NLIStatementPrompt(instruction=Your task is to judge the faithfulness of a ..
'statement_generator_prompt': StatementGeneratorPrompt(instruction=Given a question, an answer, and sentences from ... }
```
Changing the prompt...
```python
statement_prompt = scorer.get_prompts()["n_l_i_statement_prompt"]
verdict_prompt = scorer.get_prompts()["statement_generator_prompt"]

statement_prompt.instruction = "New statement breaking prompt"
statement_prompt.examples = [] # Conform to the example class of nli statement prompt if you want to change examples here

verdict_prompt.instruction = "New verdict generation prompt"
verdict_prompt.examples = [] # Conform to the example class of giving the verdict if you want to change examples here

scorer.set_prompts(
    **{
        "n_l_i_statement_prompt": statement_prompt,
        "statement_generator_prompt": verdict_prompt,
    }
)

scorer.get_prompts()
```
Output
```
{'n_l_i_statement_prompt': NLIStatementPrompt(instruction=New statement breaking prompt
'statement_generator_prompt': StatementGeneratorPrompt(instruction=New verdict generation prompt}
```

It seems the issue was answered, closing this now.