Your AI Assistant for GTM Excellence
An intelligent sales assistant application that helps sales representatives be more productive by providing instant access to account information, sales best practices, and AI-powered content generation. Built with LangChain, OpenAI, ChromaDB, and Streamlit.
- Chat interface powered by RAG (Retrieval-Augmented Generation)
- Answers questions about sales processes, best practices, and account information
- Accesses a knowledge base of sales playbooks, product information, and competitor intelligence
- Provides context-aware responses based on selected account
- Search and explore account details from mock CRM data
- View deals, contacts, and recent activities
- Get AI-powered suggestions for account strategy
- Quick access to account context for better decision-making
- Generate personalized sales emails with account context
- Uses deal stage and account information for personalization
- Multiple email types (follow-up, initial outreach, proposal follow-up, etc.)
- Customizable tone and additional context
- Analyze call transcripts and extract key insights
- Identify action items with owners and deadlines
- Detect sentiment and concerns
- Extract decision makers and key discussion points
- Searchable repository of sales best practices
- Product information and use cases
- Competitive intelligence and positioning
- Objection handling guides
βββββββββββββββββββ
β Streamlit UI β
ββββββββββ¬βββββββββ
β
ββββββ΄βββββ
β β
βββββΌββββ ββββΌβββββββββ
β RAG β β CRM β
βSystem β β Data β
βββββ¬ββββ βββββββββββββ
β
βββββΌβββββββββββ
β ChromaDB β
β Vector Store β
ββββββββββββββββ
- Python 3.9 or higher
- OpenAI API key (Get one here)
-
Clone the repository
git clone <repository-url> cd AI-PROj
-
Create a virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Set up environment variables
Create a
.envfile in the project root:cp .env.example .env
Edit
.envand add your OpenAI API key:OPENAI_API_KEY=your_openai_api_key_here LLM_MODEL=gpt-4-turbo-preview EMBEDDING_MODEL=text-embedding-3-small -
Run the application
streamlit run ui/streamlit_app.py
-
Load the knowledge base
- Once the app is running, click "Load Knowledge Base" in the sidebar
- This will index the sales knowledge base documents into ChromaDB
- Load Knowledge Base: Click "Load Knowledge Base" in the sidebar (first time only)
- Select Account Context (optional): Choose an account from the dropdown to provide context
- Ask Questions: Type your question in the chat input
- View Sources: Click on "Sources" to see which knowledge base documents were used
Example Questions:
- "What are best practices for discovery calls?"
- "How do I handle price objections?"
- "What should I know about Competitor A?"
- "Give me talking points for my next call with Acme Corp"
- Search Accounts: Use the search bar to find accounts by name, domain, or industry
- View Details: Select an account to see:
- Account information (industry, size, revenue)
- Active deals and their stages
- Contacts and their roles
- Recent activities
- Get AI Suggestions: Click "Get AI-Powered Suggestions" for strategic recommendations
- Select Account: Choose an account from the dropdown
- Select Contact (optional): Choose a specific contact
- Select Deal (optional): Link the email to a specific deal
- Configure Email:
- Choose email type (follow-up, initial outreach, etc.)
- Enter email purpose
- Add additional context if needed
- Generate: Click "Generate Email" to create a personalized email
- Copy: Use the text area to copy the generated email
- Input Transcript: Either paste the transcript or upload a text file
- Add Account Context (optional): Select an account for better context
- Summarize: Click "Summarize Call" to get:
- Executive summary
- Key discussion points
- Sentiment analysis
- Action items with owners
- Concerns and objections
- Decision makers mentioned
AI-PROj/
βββ src/
β βββ __init__.py
β βββ config.py # Configuration management
β βββ rag/
β β βββ __init__.py
β β βββ vector_store.py # ChromaDB vector store
β β βββ document_loader.py # Document loading and indexing
β β βββ retriever.py # RAG retrieval system
β βββ crm/
β β βββ __init__.py
β β βββ data_models.py # Pydantic models
β β βββ mock_crm.py # Mock CRM data layer
β βββ agents/
β β βββ __init__.py
β β βββ sales_assistant.py # Main conversational agent
β β βββ email_generator.py # Email generation
β βββ utils/
β βββ __init__.py
β βββ call_summarizer.py # Call transcript analysis
βββ data/
β βββ knowledge_base/ # Sales knowledge base documents
β β βββ sales_playbook.txt
β β βββ product_information.txt
β β βββ competitor_intelligence.txt
β β βββ objection_handling.txt
β βββ crm_data.json # Mock CRM data (generated)
βββ ui/
β βββ streamlit_app.py # Streamlit web application
βββ requirements.txt
βββ README.md
βββ .env.example
βββ .gitignore
Configuration is managed through environment variables (see .env.example):
OPENAI_API_KEY: Your OpenAI API key (required)LLM_MODEL: LLM model to use (default:gpt-4-turbo-preview)EMBEDDING_MODEL: Embedding model for vector search (default:text-embedding-3-small)CHROMA_DB_PATH: Path to ChromaDB storage (default:./chroma_db)MAX_RETRIEVAL_RESULTS: Number of documents to retrieve (default:5)DEBUG: Enable debug mode (default:False)
- Search for the account in "Account Lookup"
- Review account details, deals, and recent activities
- Click "Get AI-Powered Suggestions" for talking points
- Ask the chat assistant: "What are best practices for discovery calls?"
- Use the insights to prepare for your call
- Go to "Call Summarizer" tab
- Paste the call transcript
- Select the account for context
- Get summary with action items
- Go to "Email Generator" tab
- Generate a follow-up email referencing the call summary
- Go to "Chat Assistant" tab
- Ask: "How do I handle the objection: [objection text]?"
- Review the response with objection handling strategies
- Use the insights in your next conversation
- Ask the chat assistant: "What should I know about Competitor A?"
- Review competitive intelligence from knowledge base
- Get talking points for competitive situations
- Use in proposals and conversations
- Uses ChromaDB for vector storage
- OpenAI embeddings for document encoding
- LangChain for retrieval and generation
- Semantic search with configurable result count
- Generates realistic sample data (accounts, contacts, deals, activities)
- Persists data to JSON for consistency
- Provides search and lookup functionality
- Can be easily replaced with real CRM API integration
- LLM: GPT-4 Turbo (configurable)
- Embeddings: text-embedding-3-small (configurable)
- Temperature settings optimized for each use case
- Integration with real CRM systems (Salesforce, HubSpot)
- Multi-turn conversation memory across sessions
- Export functionality (emails, summaries to PDF/Word)
- Analytics dashboard showing usage patterns
- Support for multiple LLM providers (Claude, local models)
- Custom knowledge base upload
- Team collaboration features
- Email scheduling and tracking
- The knowledge base is loaded into ChromaDB on first use
- Mock CRM data is generated automatically on first run
- All data is stored locally (ChromaDB and JSON files)
- API calls to OpenAI are made for each query (costs apply)
This is a portfolio project demonstrating AI/ML capabilities for GTM (Go-to-Market) use cases. Feel free to fork and extend!
This project is provided as-is for portfolio/demonstration purposes.
Built with:
- LangChain - LLM application framework
- OpenAI - Language models
- ChromaDB - Vector database
- Streamlit - Web application framework
SalesCopilot - Your AI Assistant for GTM Excellence π