Spaces:
Running
Running
Create pee.py
Browse files
pee.py
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import openai
|
| 2 |
+
import pandas as pd
|
| 3 |
+
import json
|
| 4 |
+
import os
|
| 5 |
+
|
| 6 |
+
class PromptEngineeringExpert:
|
| 7 |
+
def __init__(self):
|
| 8 |
+
self.openai_api_key = os.environ.get("OPENAI_API_KEY") # Load API key from environment variable
|
| 9 |
+
openai.api_key = self.openai_api_key
|
| 10 |
+
|
| 11 |
+
def process_forms(self, business_info_form_data, product_service_form_data):
|
| 12 |
+
chatbot_prompt = self._generate_chatbot_prompt(business_info_form_data)
|
| 13 |
+
knowledge_base = self._generate_knowledge_base(product_service_form_data)
|
| 14 |
+
faq_section = self._generate_faq_section(business_info_form_data, product_service_form_data)
|
| 15 |
+
return chatbot_prompt, knowledge_base, faq_section
|
| 16 |
+
|
| 17 |
+
def _generate_chatbot_prompt(self, business_info_form_data):
|
| 18 |
+
# **[محل پیادهسازی منطق تولید پرامپت اصلی با استفاده از API ChatGPT و GPT-4o]**
|
| 19 |
+
# جایگزین placeholder با کد واقعی تولید پرامپت
|
| 20 |
+
prompt = f"""
|
| 21 |
+
# Persona
|
| 22 |
+
Your persona as an AI assistant is to help customers of {business_info_form_data.get("نام کسب و کارتون و ادرس پیج یا سایت")} with their inquiries.
|
| 23 |
+
|
| 24 |
+
# Tone
|
| 25 |
+
Use a {business_info_form_data.get("لحن پاسخگویی وردست به چه شکلی باشد؟")} tone.
|
| 26 |
+
|
| 27 |
+
# Guidelines
|
| 28 |
+
[Guidelines specific to the business and chatbot objective]
|
| 29 |
+
|
| 30 |
+
# About Us
|
| 31 |
+
[Information about the business]
|
| 32 |
+
|
| 33 |
+
# Responses to Common Questions
|
| 34 |
+
[Responses to frequently asked questions]
|
| 35 |
+
|
| 36 |
+
# Contact Information
|
| 37 |
+
[Contact information for the business]
|
| 38 |
+
|
| 39 |
+
# Additional Guidelines
|
| 40 |
+
[Any additional guidelines]
|
| 41 |
+
"""
|
| 42 |
+
return prompt
|
| 43 |
+
|
| 44 |
+
def _generate_knowledge_base(self, product_service_form_data):
|
| 45 |
+
# **[محل پیادهسازی منطق تولید پایگاه دانش با استفاده از اطلاعات فرم محصولات/خدمات]**
|
| 46 |
+
# جایگزین placeholder با کد واقعی تولید پایگاه دانش
|
| 47 |
+
knowledge_base_chunks = []
|
| 48 |
+
for product_data in product_service_form_data:
|
| 49 |
+
chunk = {
|
| 50 |
+
"name": product_data.get("نام محصول/ خدمت/ دوره"),
|
| 51 |
+
"description": product_data.get("توضیحات"),
|
| 52 |
+
"price": product_data.get("قیمت")
|
| 53 |
+
}
|
| 54 |
+
knowledge_base_chunks.append(chunk)
|
| 55 |
+
return json.dumps(knowledge_base_chunks, ensure_ascii=False, indent=2)
|
| 56 |
+
|
| 57 |
+
def _generate_faq_section(self, business_info_form_data, product_service_form_data):
|
| 58 |
+
# **[محل پیادهسازی منطق تولید FAQ با استفاده از API ChatGPT و GPT-4o و روش Prompt Engineering پیشرفته]**
|
| 59 |
+
# جایگزین placeholder با کد واقعی تولید FAQ
|
| 60 |
+
faq_section = {
|
| 61 |
+
"Service Basics": {
|
| 62 |
+
"product_information": {
|
| 63 |
+
"questions": ["محصولات شما چی هستند؟", "چه محصولاتی ارائه می دهید؟"],
|
| 64 |
+
"answer": "ما محصولات متنوعی ارائه می دهیم. برای اطلاعات بیشتر به پایگاه دانش مراجعه کنید."
|
| 65 |
+
}
|
| 66 |
+
}
|
| 67 |
+
}
|
| 68 |
+
return json.dumps(faq_section, ensure_ascii=False, indent=2)
|