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