Feat: Inappropriate language filter python script (#5935)

Signed-off-by: tico88612 <17496418+tico88612@users.noreply.github.com>
This commit is contained in:
tico88612 2024-04-10 03:55:48 +08:00 committed by GitHub
parent 641b3ec7fb
commit afebc06998
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 58 additions and 0 deletions

View File

@ -0,0 +1,5 @@
# Use the .funcignore file to exclude files which should not be
# tracked in the image build. To instruct the system not to track
# files in the image build, add the regex pattern or file information
# to this file.

View File

@ -0,0 +1,5 @@
# Functions use the .func directory for local runtime data which should
# generally not be tracked in source control. To instruct the system to track
# .func in source control, comment the following line (prefix it with '# ').
/.func

View File

@ -0,0 +1 @@
web: python -m parliament .

View File

@ -0,0 +1,3 @@
#!/bin/sh
exec python -m parliament "$(dirname "$0")"

View File

@ -0,0 +1,37 @@
from parliament import Context
from profanity_check import predict
from cloudevents.http import CloudEvent
def create_cloud_event(data):
attributes = {
"type": "knative.sampleapp.inappropriate-language-filter.response",
"source": "inappropriate-language-filter",
"datacontenttype": "application/json",
}
# Put the inappropriate language filter result into a dictionary
data = {"result": data}
# Create a CloudEvent object
event = CloudEvent(attributes, data)
return event
def inappropriate_language_filter(text: str | None):
profanity_result = predict([text])
result = "good"
if profanity_result[0] == 1:
result = "bad"
profanity_event = create_cloud_event(result)
return profanity_event
def main(context: Context):
"""
Function template
The context parameter contains the Flask request object and any
CloudEvent received with the request.
"""
# Add your business logic here
return inappropriate_language_filter(context.request.args.get("text"))

View File

@ -0,0 +1,4 @@
specVersion: 0.36.0
name: inappropriate-language-filter
runtime: python
created: 2024-03-27T23:12:06.178272+08:00

View File

@ -0,0 +1,3 @@
parliament-functions==0.1.0
alt-profanity-check==1.4.1.post1
cloudevents==1.10.1