docker run -d -p 8000:8000 --env-file .env serpent:latest
Continuous Integration (CI)
Set up a CI pipeline using GitHub Actions or any other CI tool to automate testing and deployment. Ensure that the pipeline includes steps for:
Running Unit Tests: Use pytest to run unit tests and generate coverage reports.
Building Docker Image: Build the Docker image and push it to a container registry.
Deploying to Production: Deploy the Docker container to a production environment.
Security Configurations
Environment Variables: Ensure that sensitive information such as API keys and database URIs are stored securely in environment variables.
Access Control: Implement access control mechanisms to restrict access to the API endpoints.
Data Encryption: Use encryption to protect sensitive data both at rest and in transit.
Monitoring and Logging
Logging: Configure logging to capture and store logs for monitoring and troubleshooting.
Monitoring: Set up monitoring tools to track the performance and health of the application.
Documentation
API Documentation: Provide detailed API documentation using tools like Swagger or Postman.
User Guide: Create a user guide to help users understand how to use the application.
Developer Guide: Provide a developer guide with instructions for setting up the development environment and contributing to the project.
New UI Features
Central Chat Interface
The UI has been refined to a central chat interface with minimalistic buttons and a modern, sleek design. The chat interface is now fullscreen and responsive, providing a seamless user experience.
Code Blocks with Clipboard Icon
Code created by the UI is now displayed in code blocks with a clipboard icon for easy copy/pasting. This enhances the user experience by making it easier to copy and paste generated code.
Model Selection, Evaluation, and Training
The UI now allows for model selection, evaluation, and training functionality. Users can select the model provider and model name, and perform evaluation and training tasks directly from the UI.
Model Selection, Evaluation, and Training
Model Selection
The UI provides a dropdown or selection interface for choosing the model provider and model name. This allows users to select the appropriate model for their needs.
Evaluation Functionality
The evaluation functionality is integrated into the UI. Users can evaluate the performance of the selected model and view detailed evaluation results.
Training Functionality
The training functionality is integrated into the UI. Users can train the selected model using their own data and view detailed training progress and results.