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
pandasandpyarrowfor 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
Clone the repository:
git clone <repository-url> cd <repository-name>Create and activate a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`Install the required dependencies:
pip install -r requirements.txtSet up your environment variables:
Create a
.envfile 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 file, which starts a web server. To run it, use the following command:
python app.py