Welcome to Factor's technical challenge. We're excited about your interest in joining our team of consultants who help enterprises leverage cutting-edge AI solutions to transform their businesses.
The purpose of this challenge is to assess your skills in developing practical AI applications using Python and Large Language Models (LLMs).
Your task is to create a prototype application that demonstrates how enterprises can use AI to make their internal policies and documentation more accessible to employees. The application should allow users to ask questions about company policies and receive accurate, relevant answers by querying policy documents. The solution should utilize an LLM for natural language understanding and a vector database for efficient document retrieval.
We've provided a set of sample corporate policies. Your application should be able to handle queries such as:
What is the work from home policy?
How many vacation days do I get as a new employee?
What is the process for requesting parental leave?
Can you explain the travel reimbursement policy?
Build an intelligent policy assistant that showcases the following capabilities:
- User Interface: Design a clean, intuitive web interface for policy queries and responses.
- LLM Integration: Implement integration with a pre-trained LLM model for natural language understanding and response generation.
- Document Processing: Develop robust handling of policy documents in various formats.
- Vector Database: Implement efficient document retrieval using vector embeddings and similarity search.
Sample corporate policy documents will be provided in PDF and markdown format. These documents will need to be processed and indexed appropriately.
- Code hosted on a private GitHub repository
- Fork this repository to your GitHub account
- Push your completed code to your fork
- Share repository access with our technical team when ready for review
- Comprehensive README documentation including:
- Setup and deployment instructions
- Architecture overview and technology choices
- Engineering decisions and trade-offs
- Challenges encountered and solutions implemented
- Potential improvements and scalability considerations
- Use any pre-trained LLM model of your choice (OpenAI API key will be provided)
- Implementation must be in Python
- Code should follow professional software engineering practices:
- Clean, well-documented code
- Proper error handling
- Unit tests
- Logging
- Configuration management
Your submission will be evaluated based on:
- Code quality and organization
- System architecture and scalability
- User experience and interface design
- Documentation clarity
- Error handling and edge cases
- Innovation and problem-solving approach
- You will have one week to complete the challenge
- Submit your solution by providing repository access to [rey@factorconsulting.org]
If you have any questions about the challenge, please reach out to [rey@factorconsulting.org]