Files
t6_mem0/docs/examples/document-writing.mdx
2025-03-07 16:40:41 +05:30

186 lines
5.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Enhanced Document Editing with Mem0
---
# **Mem0: Smart Document Editing**
This guide demonstrates how to leverage **Mem0** to edit documents efficiently, ensuring they align with your unique writing style and preferences.
## **Why Use Mem0?**
By integrating Mem0 into your workflow, you can streamline your document editing process with:
1. **Persistent Writing Preferences**: Mem0 stores and recalls your style preferences, ensuring consistency across all documents.
2. **Automated Enhancements**: Your stored preferences guide document refinements, making edits seamless and efficient.
3. **Scalability & Reusability**: Your writing style can be applied to multiple documents, saving time and effort.
---
## **Setup**
```python
import os
from mem0 import MemoryClient
# Set up Mem0 client
os.environ["MEM0_API_KEY"] = "your-mem0-api-key"
client = MemoryClient()
# Define constants
USER_ID = "content_writer"
RUN_ID = "smart_editing_session"
```
---
## **Storing Your Writing Preferences in Mem0**
```python
def store_writing_preferences():
"""Store your writing preferences in Mem0."""
# Define writing preferences
preferences = """My writing preferences:
1. Use headings and sub-headings for structure.
2. Keep paragraphs concise (8-10 sentences max).
3. Incorporate specific numbers and statistics.
4. Provide concrete examples.
5. Use bullet points for clarity.
6. Avoid jargon and buzzwords."""
# Store preferences in Mem0
preference_message = [
{"role": "user", "content": "Here are my writing style preferences"},
{"role": "assistant", "content": preferences}
]
response = client.add(preference_message, user_id=USER_ID, run_id=RUN_ID, metadata={"type": "preferences", "category": "writing_style"})
print("Writing preferences stored successfully.")
return response
```
---
## **Editing Documents with Mem0**
```python
def edit_document_based_on_preferences(original_content):
"""Edit a document using Mem0-based stored preferences."""
# Retrieve stored preferences
query = "What are my writing style preferences?"
preferences_results = client.search(query, user_id=USER_ID, run_id=RUN_ID)
if not preferences_results:
print("No writing preferences found.")
return None
# Extract preferences
preferences = ' '.join(memory["memory"] for memory in preferences_results)
# Apply stored preferences to refine the document
edited_content = f"Applying stored preferences:\n{preferences}\n\nEdited Document:\n{original_content}"
return edited_content
```
---
## **Complete Workflow: Document Editing**
```python
def document_editing_workflow(content):
"""Automated workflow for editing a document based on writing preferences."""
# Step 1: Store writing preferences (if not already stored)
store_writing_preferences()
# Step 2: Edit the document with Mem0 preferences
edited_content = edit_document_based_on_preferences(content)
if not edited_content:
return "Failed to edit document."
# Step 3: Display results
print("\n=== ORIGINAL DOCUMENT ===\n")
print(content)
print("\n=== EDITED DOCUMENT ===\n")
print(edited_content)
return edited_content
```
---
## **Example Usage**
```python
# Define your document
original_content = """Project Proposal
The following proposal outlines our strategy for the Q3 marketing campaign.
We believe this approach will significantly increase our market share.
Increase brand awareness
Boost sales by 15%
Expand our social media following
We plan to launch the campaign in July and continue through September.
"""
# Run the workflow
result = document_editing_workflow(original_content)
```
---
## **Expected Output**
Your document will be transformed into a structured, well-formatted version based on your preferences.
### **Original Document**
```
Project Proposal
The following proposal outlines our strategy for the Q3 marketing campaign.
We believe this approach will significantly increase our market share.
Increase brand awareness
Boost sales by 15%
Expand our social media following
We plan to launch the campaign in July and continue through September.
```
### **Edited Document**
```
# **Project Proposal**
## **Q3 Marketing Campaign Strategy**
This proposal outlines our strategy for the Q3 marketing campaign. We aim to significantly increase our market share with this approach.
### **Objectives**
- **Increase Brand Awareness**: Implement targeted advertising and community engagement to enhance visibility.
- **Boost Sales by 15%**: Increase sales by 15% compared to Q2 figures.
- **Expand Social Media Following**: Grow our social media audience by 20%.
### **Timeline**
- **Launch Date**: July
- **Duration**: July September
### **Key Actions**
- **Targeted Advertising**: Utilize platforms like Google Ads and Facebook to reach specific demographics.
- **Community Engagement**: Host webinars and live Q&A sessions.
- **Content Creation**: Produce engaging videos and infographics.
### **Supporting Data**
- **Previous Campaign Success**: Our Q2 campaign increased sales by 12%. We will refine similar strategies for Q3.
- **Social Media Growth**: Last year, our Instagram followers grew by 25% during a similar campaign.
### **Conclusion**
We believe this strategy will effectively increase our market share. To achieve these goals, we need your support and collaboration. Lets work together to make this campaign a success. Please review the proposal and provide your feedback by the end of the week.
```
Mem0 creates a seamless, intelligent document editing experience—perfect for content creators, technical writers, and businesses alike!