--- title: AMO CRM Sales Assistant emoji: 🤖 colorFrom: blue colorTo: purple sdk: docker pinned: false --- # AMO CRM Sales Assistant This project is a sophisticated, AI-powered sales assistant designed to work with the AMO CRM. It uses a modular architecture built around a `LangGraph`-based orchestrator to provide intelligent, context-aware responses to user queries. The assistant can help with a variety of tasks, including generating daily work plans, preparing personalized offers, updating the CRM with new information, and analyzing sales data. ## Key Features - **Modular Architecture**: The project is divided into several independent modules, each responsible for a specific task (e.g., data access, customer monitoring, offer generation). This makes the system easy to maintain and extend. - **Intelligent Orchestrator**: At the core of the project is an orchestrator that uses a large language model (LLM) to understand user intent and route requests to the appropriate tool. It supports contextual follow-up questions and can ask for clarification when a query is ambiguous. - **Idempotent Tool Execution**: The tool registry includes a caching mechanism that ensures that repeated calls with the same arguments do not cause redundant executions, making the system more efficient. - **Robust Data Handling**: The project uses `pandas` and `pyarrow` for efficient in-memory data manipulation, with a dedicated data access layer that provides a clean and safe interface to the CRM data. ## Getting Started ### Prerequisites - Python 3.10 or higher - An OpenAI API key ### Installation 1. **Clone the repository**: ```bash git clone cd ``` 2. **Create and activate a virtual environment** (recommended): ```bash python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate` ``` 3. **Install the required dependencies**: ```bash pip install -r requirements.txt ``` 4. **Set up your environment variables**: Create a `.env` file in the root of the project and add your OpenAI API key: ``` OPENAI_API_KEY='your-api-key-here' ``` ### Running the Application The main entry point for the application is the [app.py](cci:7://file:///c:/Users/MI/AMO/app.py:0:0-0:0) file, which starts a web server. To run it, use the following command: ```bash python app.py