|
1 | 1 | # DevOps-GPT |
| 2 | + |
2 | 3 | Use a brilliant assistant as your friend in your DevOps Journey. |
3 | 4 |
|
4 | 5 | ## What does this project offer? |
5 | | -This project helps you to balance your daily work as a DevOps engineer, from simple bug fixes to project template generation.<br /> |
6 | | -you don't need to search on Google for some routine jobs and it helps you with a robust prompt to simplify your career. |
| 6 | + |
| 7 | +This project helps you to balance your daily work as a DevOps engineer, from simple bug fixes to project template generation. |
| 8 | +You don't need to search on Google for some routine jobs, and it helps you with a robust prompt to simplify your career. |
7 | 9 |
|
8 | 10 | ## How it works? |
9 | | -This is a wrapper between DevOps engineers and large language models like GPT-4-mini. The main strength of it is prompt engineering.<br /> |
10 | 11 |
|
11 | | -We have developed some (Extendable) prompt-driven solutions with a simplified interface for the DevOps process cost reduction.<br /> |
| 12 | +This is a wrapper between DevOps engineers and large language models like GPT-4-mini. The main strength of it is prompt engineering. |
| 13 | + |
| 14 | +We have developed some (extendable) prompt-driven solutions with a simplified interface for the DevOps process cost reduction. |
12 | 15 |
|
13 | 16 | ### Docker services |
14 | | -We run our services using docker-compose (the main Fast-API-based backend and MongoDB), so we package all dependencies and don't use any external service.<br /> |
15 | | -The second one is Mongodb. we need to save the prompt and GPT-4_mini response in the Mongo document for future use. (for example, fine-tuning the other model with our data) <br /> |
| 17 | + |
| 18 | +We run our services using docker-compose (the main Fast-API-based backend and MongoDB), so we package all dependencies and don't use any external service. |
| 19 | +The second one is MongoDB. We need to save the prompt and GPT-4-mini response in the Mongo document for future use (e.g., fine-tuning another model with our data). |
16 | 20 |
|
17 | 21 | ### Media directory |
18 | | -The third one is in the media directory. for now, We save a project called (MyTerraform) which is a Terraform template generated based on user requirements. so users can download it and use it.<be /> |
19 | | -surely we can save any static data in the `/media`. |
20 | 22 |
|
21 | | - |
| 23 | +The third one is the media directory. For now, we save a project called (MyTerraform), which is a Terraform template generated based on user requirements, so users can download it and use it. |
| 24 | +Surely we can save any static data in the `/media`. |
22 | 25 |
|
23 | 26 | This is an example of a template generated in the `/media` |
24 | 27 |
|
25 | | -and the input is something like that |
26 | | - |
27 | | - |
28 | | - |
29 | | - |
| 28 | +The input is something like this: |
30 | 29 |
|
31 | 30 | ### directory_generators |
32 | | -This directory becomes updated when we trigger the template generation API. finally, It generates the MyTerraform directory based on user input which is a template. |
33 | 31 |
|
| 32 | +This directory gets updated when we trigger the template generation API. Finally, it generates the MyTerraform directory based on user input, which is a template. |
34 | 33 |
|
35 | 34 | ## ToolChain |
| 35 | + |
36 | 36 | 1. Python |
37 | 37 | 2. Docker |
38 | | -3. GPT-4o-mini |
| 38 | +3. GPT-4-mini |
39 | 39 | 4. FastAPI |
40 | 40 | 5. Helm |
41 | 41 |
|
42 | 42 | ## Pre-requisites |
| 43 | + |
43 | 44 | 1. Python |
44 | 45 | 2. Docker |
45 | 46 |
|
46 | 47 | ## How to use? |
47 | | -execute `sh run.sh` in your terminal |
48 | 48 |
|
49 | | -> [!WARNING] |
50 | | -> Do Not change the GPT model! Prompts have been developed for the GPT-4-mini model and they can't be integrated with other GPT models. it can cause horrible incompatibility. |
| 49 | +Execute `sh run.sh` in your terminal |
| 50 | + |
| 51 | +> [!WARNING]\ |
| 52 | +> Do Not change the GPT model! Prompts have been developed for the GPT-4-mini model, and they can't be integrated with other GPT models. It can cause horrible incompatibility. |
51 | 53 |
|
52 | | -## Run it local on kubernetes |
53 | | -If you want to run and use this chatbot app within your Kubernetes cluster, you can easily install it using the Helm chart provided in this repository |
| 54 | +## Run it locally on Kubernetes |
54 | 55 |
|
55 | | - helm install [RELEASE_NAME] helm/ -f helm/values.yaml |
| 56 | +If you want to run and use this chatbot app within your Kubernetes cluster, you can easily install it using the Helm chart provided in this repository: |
| 57 | + |
| 58 | +``` |
| 59 | +helm install [RELEASE_NAME] helm/ -f helm/values.yaml |
| 60 | +``` |
| 61 | + |
| 62 | +## Tests |
| 63 | + |
| 64 | +We have added unit tests to ensure the stability and reliability of the project. |
| 65 | + |
| 66 | +### Running Tests |
| 67 | + |
| 68 | +To run the tests, use the following command: |
| 69 | + |
| 70 | +``` |
| 71 | +cd app |
| 72 | +pytest tests/ |
| 73 | +``` |
| 74 | + |
| 75 | +This command will execute all the test cases present in the `tests` folder. The tests include validation of the API endpoints, ensuring correct interactions with GPT services, and verifying that the generated outputs meet expected standards. |
56 | 76 |
|
57 | 77 | # Contributing |
58 | | -please read the [Contribution guide](https://github.com/abolfazl8131/devops-gpt/blob/master/CONTRIBUTING.md) |
| 78 | + |
| 79 | +Please read the [Contribution guide](https://github.com/abolfazl8131/devops-gpt/blob/master/CONTRIBUTING.md) |
| 80 | + |
59 | 81 | # Maintenance |
60 | | -** [Abolfazl Andalib](https://github.com/abolfazl8131) - abolfazlandalib@gmail.com **<br /> |
61 | | -** [Mohammad Madanipour](https://github.com/mohammadll) - m.madanipourr@gmail.com ** |
| 82 | + |
| 83 | +**[Abolfazl Andalib](https://github.com/abolfazl8131)** - [abolfazlandalib@gmail.com](mailto:abolfazlandalib@gmail.com) |
| 84 | +**[Mohammad Madanipour](https://github.com/mohammadll)** - [m.madanipourr@gmail.com](mailto:m.madanipourr@gmail.com) |
0 commit comments