|
6 | 6 | from dataclasses import dataclass, field |
7 | 7 |
|
8 | 8 | from ragas.llms.json_load import json_loader |
9 | | -from ragas.testset.prompts import ( |
10 | | - keyphrase_extraction_prompt, |
11 | | - main_topic_extraction_prompt, |
12 | | -) |
| 9 | +from ragas.testset.prompts import keyphrase_extraction_prompt |
13 | 10 |
|
14 | 11 | if t.TYPE_CHECKING: |
15 | 12 | from ragas.llms.base import BaseRagasLLM |
@@ -43,30 +40,30 @@ def save(self, cache_dir: t.Optional[str] = None) -> None: |
43 | 40 |
|
44 | 41 | @dataclass |
45 | 42 | class KeyphraseExtractor(Extractor): |
46 | | - keyphrase_extraction_prompt: Prompt = field( |
47 | | - default_factory=lambda: main_topic_extraction_prompt |
| 43 | + extractor_prompt: Prompt = field( |
| 44 | + default_factory=lambda: keyphrase_extraction_prompt |
48 | 45 | ) |
49 | 46 |
|
50 | 47 | async def extract(self, node: Node, is_async: bool = True) -> t.List[str]: |
51 | | - prompt = self.keyphrase_extraction_prompt.format(text=node.page_content) |
| 48 | + prompt = self.extractor_prompt.format(text=node.page_content) |
52 | 49 | results = await self.llm.generate(prompt=prompt, is_async=is_async) |
53 | 50 | keyphrases = await json_loader.safe_load( |
54 | 51 | results.generations[0][0].text.strip(), llm=self.llm, is_async=is_async |
55 | 52 | ) |
56 | 53 | keyphrases = keyphrases if isinstance(keyphrases, dict) else {} |
57 | 54 | logger.debug("topics: %s", keyphrases) |
58 | | - return keyphrases.get("topics", []) |
| 55 | + return keyphrases.get("keyphrases", []) |
59 | 56 |
|
60 | 57 | def adapt(self, language: str, cache_dir: t.Optional[str] = None) -> None: |
61 | 58 | """ |
62 | 59 | Adapt the extractor to a different language. |
63 | 60 | """ |
64 | | - self.keyphrase_extraction_prompt = keyphrase_extraction_prompt.adapt( |
| 61 | + self.extractor_prompt = self.extractor_prompt.adapt( |
65 | 62 | language, self.llm, cache_dir |
66 | 63 | ) |
67 | 64 |
|
68 | 65 | def save(self, cache_dir: t.Optional[str] = None) -> None: |
69 | 66 | """ |
70 | 67 | Save the extractor prompts to a path. |
71 | 68 | """ |
72 | | - self.keyphrase_extraction_prompt.save(cache_dir) |
| 69 | + self.extractor_prompt.save(cache_dir) |
0 commit comments