mirror of https://github.com/knative/docs.git
Feat: Inappropriate language filter python script (#5935)
Signed-off-by: tico88612 <17496418+tico88612@users.noreply.github.com>
This commit is contained in:
parent
641b3ec7fb
commit
afebc06998
|
@ -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.
|
5
code-samples/eventing/bookstore-sample-app/ML-inappropriate-language-filter/.gitignore
vendored
Normal file
5
code-samples/eventing/bookstore-sample-app/ML-inappropriate-language-filter/.gitignore
vendored
Normal 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
|
|
@ -0,0 +1 @@
|
|||
web: python -m parliament .
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
exec python -m parliament "$(dirname "$0")"
|
|
@ -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"))
|
|
@ -0,0 +1,4 @@
|
|||
specVersion: 0.36.0
|
||||
name: inappropriate-language-filter
|
||||
runtime: python
|
||||
created: 2024-03-27T23:12:06.178272+08:00
|
|
@ -0,0 +1,3 @@
|
|||
parliament-functions==0.1.0
|
||||
alt-profanity-check==1.4.1.post1
|
||||
cloudevents==1.10.1
|
Loading…
Reference in New Issue