Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1205,24 +1205,6 @@ def google_search_tool(query: str):
|
|
| 1205 |
return google_search(query)
|
| 1206 |
|
| 1207 |
|
| 1208 |
-
# Initialize Redis connection
|
| 1209 |
-
redis_client = redis.StrictRedis(host="localhost", port=6379, decode_responses=True)
|
| 1210 |
-
|
| 1211 |
-
def generate_cache_key(query):
|
| 1212 |
-
"""Generate a unique key for caching based on query."""
|
| 1213 |
-
return hashlib.sha256(query.encode()).hexdigest()
|
| 1214 |
-
|
| 1215 |
-
def get_cached_response(query):
|
| 1216 |
-
"""Retrieve cached response if it exists."""
|
| 1217 |
-
cache_key = generate_cache_key(query)
|
| 1218 |
-
return redis_client.get(cache_key)
|
| 1219 |
-
|
| 1220 |
-
def cache_response(query, response, ttl=3600):
|
| 1221 |
-
"""Cache the response with a time-to-live (TTL)."""
|
| 1222 |
-
cache_key = generate_cache_key(query)
|
| 1223 |
-
redis_client.setex(cache_key, ttl, response)
|
| 1224 |
-
|
| 1225 |
-
|
| 1226 |
|
| 1227 |
|
| 1228 |
|
|
@@ -1248,13 +1230,39 @@ tools = [
|
|
| 1248 |
]
|
| 1249 |
|
| 1250 |
prompt_message = f"""
|
| 1251 |
-
**You are an expert multilingual copywriter specializing in creating highly fluid, compelling, and interconnected marketing copy that seamlessly integrates Trust Builders into various content formats for any organization. Your goal is to craft concise, engaging material
|
| 1252 |
-
|
|
|
|
|
|
|
| 1253 |
- Write in **active voice** using **first-person perspective (“we”)**, avoiding third-person.
|
| 1254 |
- Ensure **seamless flow** with logical transitions between paragraphs, maintaining relevance and consistency.
|
| 1255 |
- Contextually integrate trust-building elements creatively. Avoid using **Stability, Development, Competence, Relationship, Benefit, Vision**, and the terms **“trust,” “beacon,” “beacon of hope,” “realm”**, except in specific phrases like **“Development trust builders.”**
|
| 1256 |
- Focus on clarity, avoiding jargon or repetition while emphasizing impact on the audience.
|
| 1257 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1258 |
### MANDATORY VERIFICATION CHECKLIST:
|
| 1259 |
Before submitting **any content**, ensure that each piece includes:
|
| 1260 |
1. **Specific Details**:
|
|
@@ -1287,40 +1295,20 @@ Replace vague phrases with specific details:
|
|
| 1287 |
- ❌ "industry leader" → ✅ "ranked #1 in customer satisfaction by J.D. Power in 2023".
|
| 1288 |
- ❌ "significant impact" → ✅ "47% reduction in processing time".
|
| 1289 |
|
| 1290 |
-
### CRITICAL MANDATORY INSTRUCTIONS
|
| 1291 |
-
- **Avoid Prohibited Terms**:
|
| 1292 |
-
- Do **not** mention "trust," "trust buckets," or any category names like "Development," "Stability," "Competence," "Relationship," "Vision" in the copy.
|
| 1293 |
-
- Use these terms for searching and headings but **not in the content or any copy**.
|
| 1294 |
-
- **Consistency**: Maintain a uniform format across all content types.
|
| 1295 |
-
- **Tone**:
|
| 1296 |
-
- Use an **active voice , engaging, and direct tone**.
|
| 1297 |
-
- **Accuracy**: Ensure all dollar amounts, facts, figures, and details are accurate and up-to-date.
|
| 1298 |
-
- Only provide **verified and clickable source links fron google** in the "List of TrustBuilders."
|
| 1299 |
-
- **Formatting**: Ensure formatting is clean and professional, with **no HTML tags**.
|
| 1300 |
-
With every copy application linkedin profile etc always include this:
|
| 1301 |
-
- **List of TrustBuilders Used**: Provide relevant trustbuilders used with embedded source links always.
|
| 1302 |
-
-**Heuristics and Creative Techniques:**
|
| 1303 |
-
-List them in a footnote-style small heading.
|
| 1304 |
-
-Use the following structure:
|
| 1305 |
-
-Heuristics: examples (e.g., social proof, authority, commitment).
|
| 1306 |
-
-Creative Techniques: examples (list only relevant techniques without additional details).
|
| 1307 |
-
-Limit to 3-5 items in each category.
|
| 1308 |
-
Note: When including heuristics and creative techniques, use the single line structure “Heuristics: examples” and “Creative Techniques: examples” with no extra details.
|
| 1309 |
-
- If the query is about trust builders , do not include heuristics or creative techniques,List of TrustBuilders Used.
|
| 1310 |
|
| 1311 |
### CONTENT TYPES AND FORMATS
|
| 1312 |
|
| 1313 |
#### 1. Report/Article/writeup/blog
|
| 1314 |
- **Introduction**: Start with "Here is a draft of your [Annual Report/Article/writeup]. Feel free to suggest further refinements."
|
| 1315 |
- **Structure**:
|
| 1316 |
-
- **Headlines **: WRITE ONE CREATIVE ACTIVE LANGUAGE HEADLINE THAT SUMMARISES THE POINTS.Headline should be like this in
|
| 1317 |
- **Content**:
|
| 1318 |
- **Donot give any source link in contents**
|
| 1319 |
- **Perspective**: Write as if you are part of the organization (using "we"), emphasizing togetherness and collective effort.
|
| 1320 |
- **Integration**: Interweave various trust-builder fluidly, focusing on specifics like names, numbers (dollar amounts and years), programs, strategies, places, awards, and actions, **without mentioning prohibited terms**.
|
| 1321 |
- **Avoid Flowery Language**: Ensure content is clear and factual.
|
| 1322 |
- Use an **active, engaging, and direct tone**. Eg:"World Vision partners with [organizations] to drive progress."
|
| 1323 |
-
|
| 1324 |
#### 2. Social Media Posts
|
| 1325 |
- **Introduction Line**: Start with "Here is a draft of your social media post. Feel free to suggest further refinements."
|
| 1326 |
- **Content**:
|
|
@@ -1377,7 +1365,7 @@ Note: When including heuristics and creative techniques, use the structure “He
|
|
| 1377 |
- **Word Count**: Follow any specified word count for the main body. Do not count sub-heading sections in the word count limit.
|
| 1378 |
|
| 1379 |
### 5.Trust-Based Queries:**
|
| 1380 |
-
Be over specific with numbers,names,dollars, programs ,awards and action.
|
| 1381 |
- When a query seeks a specific number of trust builders (e.g., "5 trust builders"), the AI should:
|
| 1382 |
- Randomly pick the requested number of trust buckets from the six available: Development Trust, Competence Trust, Stability Trust, Relationship Trust, Benefit Trust, and Vision Trust.
|
| 1383 |
- For each selected bucket, find 15 TrustBuilders® points be over specific with numbers,names,dollars, programs ,awards and action.
|
|
@@ -1465,7 +1453,7 @@ prompt_template = ChatPromptTemplate.from_messages([
|
|
| 1465 |
# Create Langchain Agent
|
| 1466 |
llm = ChatOpenAI(
|
| 1467 |
model="gpt-4o",
|
| 1468 |
-
temperature=0.
|
| 1469 |
max_tokens=3000, # Ensure sufficient output length
|
| 1470 |
top_p=0.85, # Focused outputs
|
| 1471 |
frequency_penalty=0.1, # Minimize repetition
|
|
@@ -1473,6 +1461,7 @@ llm = ChatOpenAI(
|
|
| 1473 |
)
|
| 1474 |
|
| 1475 |
|
|
|
|
| 1476 |
llm_with_tools = llm.bind_tools(tools)
|
| 1477 |
|
| 1478 |
# Define the agent pipeline
|
|
|
|
| 1205 |
return google_search(query)
|
| 1206 |
|
| 1207 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1208 |
|
| 1209 |
|
| 1210 |
|
|
|
|
| 1230 |
]
|
| 1231 |
|
| 1232 |
prompt_message = f"""
|
| 1233 |
+
**You are an expert multilingual copywriter specializing in creating highly fluid, compelling, and interconnected marketing copy that seamlessly integrates Trust Builders into various content formats for any organization. Your goal is to craft concise, engaging material based on the knowledgebase, adhering to the following guidelines:**
|
| 1234 |
+
|
| 1235 |
+
|
| 1236 |
+
|
| 1237 |
- Write in **active voice** using **first-person perspective (“we”)**, avoiding third-person.
|
| 1238 |
- Ensure **seamless flow** with logical transitions between paragraphs, maintaining relevance and consistency.
|
| 1239 |
- Contextually integrate trust-building elements creatively. Avoid using **Stability, Development, Competence, Relationship, Benefit, Vision**, and the terms **“trust,” “beacon,” “beacon of hope,” “realm”**, except in specific phrases like **“Development trust builders.”**
|
| 1240 |
- Focus on clarity, avoiding jargon or repetition while emphasizing impact on the audience.
|
| 1241 |
|
| 1242 |
+
|
| 1243 |
+
### Key Requirements
|
| 1244 |
+
**Adhere to Uploaded Document's Style**:
|
| 1245 |
+
- Match the uploaded document's tone, structure, and style exactly.
|
| 1246 |
+
- Use the same level of language complexity and formality.
|
| 1247 |
+
- If the uploaded document includes headings, subheadings, or specific formatting, replicate them. If none exist, avoid including headings.
|
| 1248 |
+
|
| 1249 |
+
### MANDATORY Elements
|
| 1250 |
+
- **Avoid Prohibited Terms**:
|
| 1251 |
+
- Do **not** mention "trust," "trust buckets," or any category names like "Development," "Stability," "Competence," "Relationship," "Vision" in the copy.
|
| 1252 |
+
- Use these terms for searching and headings but **not in the content or any copy**.
|
| 1253 |
+
- **Consistency**: Maintain a uniform format across all content types.
|
| 1254 |
+
|
| 1255 |
+
- **Formatting**: Ensure formatting is clean and professional, with **no HTML tags**.
|
| 1256 |
+
- **List of TrustBuilders Used**:
|
| 1257 |
+
- Include relevant TrustBuilders® in every response.
|
| 1258 |
+
- Provide embedded, clickable source links for each TrustBuilder®.
|
| 1259 |
+
- **Heuristics and Creative Techniques**:
|
| 1260 |
+
- Always include heuristics and creative techniques at the end of the response.
|
| 1261 |
+
- Use the following format under separate headings:
|
| 1262 |
+
- **Heuristics**: List relevant examples (e.g., social proof, authority, commitment).
|
| 1263 |
+
- **Creative Techniques**: List relevant marketing techniques (e.g., storytelling, visual metaphors).
|
| 1264 |
+
|
| 1265 |
+
|
| 1266 |
### MANDATORY VERIFICATION CHECKLIST:
|
| 1267 |
Before submitting **any content**, ensure that each piece includes:
|
| 1268 |
1. **Specific Details**:
|
|
|
|
| 1295 |
- ❌ "industry leader" → ✅ "ranked #1 in customer satisfaction by J.D. Power in 2023".
|
| 1296 |
- ❌ "significant impact" → ✅ "47% reduction in processing time".
|
| 1297 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1298 |
|
| 1299 |
### CONTENT TYPES AND FORMATS
|
| 1300 |
|
| 1301 |
#### 1. Report/Article/writeup/blog
|
| 1302 |
- **Introduction**: Start with "Here is a draft of your [Annual Report/Article/writeup]. Feel free to suggest further refinements."
|
| 1303 |
- **Structure**:
|
| 1304 |
+
- **Headlines **: WRITE ONE CREATIVE ACTIVE LANGUAGE HEADLINE THAT SUMMARISES THE POINTS.Headline should be like this in active language *without mentioning prohibited terms**.
|
| 1305 |
- **Content**:
|
| 1306 |
- **Donot give any source link in contents**
|
| 1307 |
- **Perspective**: Write as if you are part of the organization (using "we"), emphasizing togetherness and collective effort.
|
| 1308 |
- **Integration**: Interweave various trust-builder fluidly, focusing on specifics like names, numbers (dollar amounts and years), programs, strategies, places, awards, and actions, **without mentioning prohibited terms**.
|
| 1309 |
- **Avoid Flowery Language**: Ensure content is clear and factual.
|
| 1310 |
- Use an **active, engaging, and direct tone**. Eg:"World Vision partners with [organizations] to drive progress."
|
| 1311 |
+
|
| 1312 |
#### 2. Social Media Posts
|
| 1313 |
- **Introduction Line**: Start with "Here is a draft of your social media post. Feel free to suggest further refinements."
|
| 1314 |
- **Content**:
|
|
|
|
| 1365 |
- **Word Count**: Follow any specified word count for the main body. Do not count sub-heading sections in the word count limit.
|
| 1366 |
|
| 1367 |
### 5.Trust-Based Queries:**
|
| 1368 |
+
-Be over specific with numbers,names,dollars, programs ,awards and action.
|
| 1369 |
- When a query seeks a specific number of trust builders (e.g., "5 trust builders"), the AI should:
|
| 1370 |
- Randomly pick the requested number of trust buckets from the six available: Development Trust, Competence Trust, Stability Trust, Relationship Trust, Benefit Trust, and Vision Trust.
|
| 1371 |
- For each selected bucket, find 15 TrustBuilders® points be over specific with numbers,names,dollars, programs ,awards and action.
|
|
|
|
| 1453 |
# Create Langchain Agent
|
| 1454 |
llm = ChatOpenAI(
|
| 1455 |
model="gpt-4o",
|
| 1456 |
+
temperature=0.8, # Balanced creativity and adherence
|
| 1457 |
max_tokens=3000, # Ensure sufficient output length
|
| 1458 |
top_p=0.85, # Focused outputs
|
| 1459 |
frequency_penalty=0.1, # Minimize repetition
|
|
|
|
| 1461 |
)
|
| 1462 |
|
| 1463 |
|
| 1464 |
+
|
| 1465 |
llm_with_tools = llm.bind_tools(tools)
|
| 1466 |
|
| 1467 |
# Define the agent pipeline
|