feat: mapping path and pattern in the dictionary, allowing to scale the pattern "The Mill" server can use easily

This commit is contained in:
Dheerapat Tookkane 2024-02-10 23:42:50 +07:00
parent 649e77e2c4
commit 31c501cb64
No known key found for this signature in database
GPG Key ID: 50F9DC080176C6D0
2 changed files with 17 additions and 7 deletions

View File

@ -2,5 +2,9 @@
"/extwis": { "/extwis": {
"eJ4f1e0b-25wO-47f9-97ec-6b5335b2": "Daniel Miessler", "eJ4f1e0b-25wO-47f9-97ec-6b5335b2": "Daniel Miessler",
"test": "user2" "test": "user2"
},
"/summarise": {
"eJ4f1e0b-25wO-47f9-97ec-6b5335b2": "Daniel Miessler",
"test": "user2"
} }
} }

View File

@ -161,13 +161,19 @@ def fetch_content_from_url(url):
## APIs ## APIs
# Make path mapping flexible and scalable
pattern_path_mappings = {
"extwis": {"system_url": "https://raw.githubusercontent.com/danielmiessler/fabric/main/patterns/extract_wisdom/system.md",
"user_url": "https://raw.githubusercontent.com/danielmiessler/fabric/main/patterns/extract_wisdom/user.md"},
"summarise": {"system_url": "https://raw.githubusercontent.com/danielmiessler/fabric/main/patterns/summarize/system.md",
"user_url": "https://raw.githubusercontent.com/danielmiessler/fabric/main/patterns/summarize/user.md"}
} # Add more pattern with your desire path as a key in this dictionary
# /<pattern>
# /extwis @app.route("/<pattern>", methods=["POST"])
@app.route("/extwis", methods=["POST"])
@auth_required # Require authentication @auth_required # Require authentication
def extwis(): def milling(pattern):
""" Extract wisdom from user input using OpenAI's GPT-4 model. """ Combine fabric pattern with input from user and send to OpenAI's GPT-4 model.
Returns: Returns:
JSON: A JSON response containing the generated response or an error message. JSON: A JSON response containing the generated response or an error message.
@ -186,8 +192,8 @@ def extwis():
input_data = data["input"] input_data = data["input"]
# Set the system and user URLs # Set the system and user URLs
system_url = "https://raw.githubusercontent.com/danielmiessler/fabric/main/patterns/extract_wisdom/system.md" urls = pattern_path_mappings[pattern]
user_url = "https://raw.githubusercontent.com/danielmiessler/fabric/main/patterns/extract_wisdom/user.md" system_url, user_url = urls["system_url"], urls["user_url"]
# Fetch the prompt content # Fetch the prompt content
system_content = fetch_content_from_url(system_url) system_content = fetch_content_from_url(system_url)