Skip to content

Commit ec59ba2

Browse files
committed
Add more structure to reviews input for LLM
1 parent a2602c0 commit ec59ba2

1 file changed

Lines changed: 21 additions & 4 deletions

File tree

wb.py

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,26 +118,43 @@ def get_review_data(self) -> Optional[Dict[str, Any]]:
118118
return response.json()
119119
return None
120120

121-
def parse(self, only_this_variation=True, limit=300) -> List[str]:
121+
def parse(self, only_this_variation=True, limit=300) -> List[Dict[str, str]]:
122122
"""
123123
Парсинг отзывов
124124
125125
Args:
126126
only_this_variation: Если True, возвращает отзывы только для этого варианта товара,
127127
Если False, возвращает все отзывы для всех вариантов товара
128128
limit: Максимальное количество отзывов для возврата
129+
130+
Returns:
131+
List[Dict[str, str]]: Список словарей с полями 'text', 'pros', 'cons' для каждого отзыва
129132
"""
130133
json_feedbacks = self.get_review_data()
131134
if not json_feedbacks:
132135
return []
133136

134137
if only_this_variation:
135138
# Возвращаем отзывы только для конкретного варианта товара (по артикулу)
136-
feedbacks = [feedback.get("text") for feedback in json_feedbacks["feedbacks"]
137-
if str(feedback.get("nmId")) == self.sku]
139+
feedbacks = [
140+
{
141+
"text": feedback.get("text", ""),
142+
"pros": feedback.get("pros", ""),
143+
"cons": feedback.get("cons", "")
144+
}
145+
for feedback in json_feedbacks["feedbacks"]
146+
if str(feedback.get("nmId")) == self.sku
147+
]
138148
else:
139149
# Возвращаем все отзывы для всех вариантов товара
140-
feedbacks = [feedback.get("text") for feedback in json_feedbacks["feedbacks"]]
150+
feedbacks = [
151+
{
152+
"text": feedback.get("text", ""),
153+
"pros": feedback.get("pros", ""),
154+
"cons": feedback.get("cons", "")
155+
}
156+
for feedback in json_feedbacks["feedbacks"]
157+
]
141158

142159
if len(feedbacks) > limit:
143160
feedbacks = feedbacks[:limit]

0 commit comments

Comments
 (0)