File size: 1,275 Bytes
55b8f7f
 
 
 
 
fc00809
55b8f7f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
from agents.Crew import ProcurementCrew
from typing import List
from helpers import get_settings, Settings
from fastapi import Request

class CrewControllers():
    """
    this class is responsible for running the crew agent.
    """

    def __init__(
        self,
        request: Request,
        product_name: str,
        websites_list: List[str],
        country_name: str,
        no_keywords: int,
        language: str,
    ):
        self.product_name = product_name
        self.websites_list = websites_list
        self.country_name = country_name
        self.no_keywords = no_keywords
        self.language = language

        self.request = request
        self.settings: Settings = get_settings()
        self.crew = ProcurementCrew(request=request).prepare_crew()

    def crew_results(self):
        return self.crew.kickoff(
            inputs={
                "product_name": self.product_name,
                "websites_list": self.websites_list,
                "country_name": self.country_name,
                "no_keywords": self.no_keywords,
                "language": self.language,
                "score_th": self.settings.SCORE_THRESH,
                "top_recommendations_no": self.settings.TOP_RECOMMENDATIONS_NUM,
            }
        )