185 lines
5.7 KiB
Plaintext
185 lines
5.7 KiB
Plaintext
---
|
||
title: Document Editing with Mem0
|
||
---
|
||
<Snippet file="security-compliance.mdx" />
|
||
|
||
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. Let’s 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! |