You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+23-3Lines changed: 23 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,6 @@ A [React](https://react.dev/) + [AWS Serverless](https://aws.amazon.com/serverle
9
9
10
10

11
11
12
-
13
12
**IMPORTANT DISCLAIMER: AWS' Lambda service has a hard 29-second timeout. OpenAI API calls often take longer than this, in which case the AWS API Gateway endpoint will return a 504 "Gateway timeout error" response to the React client. This happens frequently with apps created using chatgpt-4. Each of the 30 OpenAI API example applications are nonetheless implemented exactly as they are specified in the official documentation.**
14
13
15
14
## ReactJS chat application
@@ -18,7 +17,7 @@ Complete documentation is located [here](./client/).
18
17
19
18
React app that leverages [Vite.js](https://github.com/FullStackWithLawrence/aws-openai), [@chatscope/chat-ui-kit-react](https://www.npmjs.com/package/@chatscope/chat-ui-kit-react), and [react-pro-sidebar](https://www.npmjs.com/package/react-pro-sidebar).
20
19
21
-
### Key features
20
+
### Webapp Key features
22
21
23
22
- robust, highly customizable chat features
24
23
- A component model for implementing your own highly personalized OpenAI apps
@@ -36,7 +35,7 @@ Complete documentation is located [here](./api/).
36
35
37
36
A REST API implementing each of the [30 example applications](https://platform.openai.com/examples) from the official [OpenAI API Documentation](https://platform.openai.com/docs/api-reference/making-requests?lang=python) using a modularized Terraform approach. Leverages OpenAI's suite of AI models, including [GPT-3.5](https://platform.openai.com/docs/models/gpt-3-5), [GPT-4](https://platform.openai.com/docs/models/gpt-4), [DALL·E](https://platform.openai.com/docs/models/dall-e), [Whisper](https://platform.openai.com/docs/models/whisper), [Embeddings](https://platform.openai.com/docs/models/embeddings), and [Moderation](https://platform.openai.com/docs/models/moderation).
38
37
39
-
### Key features
38
+
### API Key features
40
39
41
40
- Built on the [OpenAI API Python Library](https://pypi.org/project/openai/)
42
41
- Customizable. [Modularized endpoints](./terraform/apigateway_endpoints.tf) that only take a few lines of code each.
@@ -66,6 +65,27 @@ A REST API implementing each of the [30 example applications](https://platform.o
66
65
67
66
Detailed documentation for each endpoint is available here: [Documentation](./doc/examples/)
68
67
68
+
## Examples of Code Management Best Practices
69
+
70
+
This repo is referenced by multiple YouTube videos, including various tutorials about good coding practices and good code management. Of note:
71
+
72
+
-[python-dotenv](https://pypi.org/project/python-dotenv/) for storing sensitive data for local development
73
+
-[.gitignore](./.gitignore) ensures that no sensitive nor useless data accidentally gets pushed to GitHub.
74
+
-[tox.ini](./tox.ini) file for configuring behaviors of Python testing tools
75
+
-[GitHub Actions](https://github.com/features/actions) automates unit testing, semantic release rule checking, and dependabot actions.
76
+
-[GitHub Secrets](https://github.com/FullStackWithLawrence/aws-openai/settings/secrets/actions) to provide sensitive data to Github Actions workflows
-[Makefile](./Makefile) automates procedures like init, build, test, release and linting for Python, ReactJS and Terraform.
79
+
-[pre-commit](https://pre-commit.com/) automatically enforces a multitude of code quality, coding style and security policies.
80
+
-[Dependabot](https://github.com/dependabot) automatically updates the version pins of code library dependencies for Python, ReactJS and Terraform.
81
+
-[Unit Tests](https://docs.pytest.org/) are automated and can be invoked
82
+
- manually from the command line
83
+
- manually from GitHub Actions
84
+
- automatically by Dependabot.
85
+
-[Mergify](https://mergify.com/) automates processing of bot-created pull requests
86
+
-[Semantic Release](https://github.com/semantic-release/semantic-release) automates version releases as well as maintains the [CHANGELOG](./CHANGELOG.md) for the repo.
87
+
-[Change Log](http://keepachangelog.com/)
88
+
69
89
## Support
70
90
71
91
To get community support, go to the official [Issues Page](https://github.com/FullStackWithLawrence/aws-openai/issues) for this project.
0 commit comments