Abstraction for Project in MemoryClient (#3067)
This commit is contained in:
@@ -81,7 +81,7 @@ retrieval_criteria = [
|
||||
Once defined, register the criteria to your project:
|
||||
|
||||
```python
|
||||
client.update_project(retrieval_criteria=retrieval_criteria)
|
||||
client.project.update(retrieval_criteria=retrieval_criteria)
|
||||
```
|
||||
|
||||
Criteria apply project-wide. Once set, they affect all searches using `version="v2"`.
|
||||
@@ -187,7 +187,7 @@ If no criteria are defined for a project, `version="v2"` behaves like normal sea
|
||||
## How It Works
|
||||
|
||||
1. **Criteria Definition**: Define custom criteria with a name, description, and weight. These describe what matters in a memory (e.g., joy, urgency, empathy).
|
||||
2. **Project Configuration**: Register these criteria using `update_project()`. They apply at the project level and influence all searches using `version="v2"`.
|
||||
2. **Project Configuration**: Register these criteria using `project.update()`. They apply at the project level and influence all searches using `version="v2"`.
|
||||
3. **Memory Retrieval**: When you perform a search with `version="v2"`, Mem0 first retrieves relevant memories based on the query and your defined criteria.
|
||||
4. **Weighted Scoring**: Each retrieved memory is evaluated and scored against the defined criteria and weights.
|
||||
|
||||
@@ -202,7 +202,7 @@ Criteria retrieval is currently supported only in search v2. Make sure to use `v
|
||||
## Summary
|
||||
|
||||
- Define what “relevant” means using criteria
|
||||
- Apply them per project via `update_project()`
|
||||
- Apply them per project via `project.update()`
|
||||
- Use `version="v2"` to activate criteria-aware search
|
||||
- Build agents that reason not just with relevance, but **contextual importance**
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ new_categories = [
|
||||
{"personal_information": "Basic information about the user including name, preferences, and personality traits"}
|
||||
]
|
||||
|
||||
response = client.update_project(custom_categories = new_categories)
|
||||
response = client.project.update(custom_categories=new_categories)
|
||||
print(response)
|
||||
```
|
||||
|
||||
@@ -75,7 +75,7 @@ You can also retrieve the current custom categories:
|
||||
<CodeGroup>
|
||||
```python Code
|
||||
# Get current custom categories
|
||||
categories = client.get_project(fields=["custom_categories"])
|
||||
categories = client.project.get(fields=["custom_categories"])
|
||||
print(categories)
|
||||
```
|
||||
|
||||
@@ -185,11 +185,11 @@ Name is Alice (personal_details)
|
||||
```
|
||||
</CodeGroup>
|
||||
|
||||
You can check whether default categories are being used by calling `get_project()`. If `custom_categories` returns `None`, it means the default categories are being used.
|
||||
You can check whether default categories are being used by calling `project.get()`. If `custom_categories` returns `None`, it means the default categories are being used.
|
||||
|
||||
<CodeGroup>
|
||||
```python Code
|
||||
client.get_project(["custom_categories"])
|
||||
client.project.get(["custom_categories"])
|
||||
```
|
||||
|
||||
```json Output
|
||||
|
||||
@@ -50,7 +50,7 @@ Guidelines:
|
||||
- Focus solely on health-related content.
|
||||
- Maintain clarity and context accuracy while recording.
|
||||
"""
|
||||
response = client.update_project(custom_instructions=prompt)
|
||||
response = client.project.update(custom_instructions=prompt)
|
||||
print(response)
|
||||
```
|
||||
|
||||
@@ -66,7 +66,7 @@ You can also retrieve the current custom instructions:
|
||||
<CodeGroup>
|
||||
```python Code
|
||||
# Retrieve current custom instructions
|
||||
response = client.get_project(fields=["custom_instructions"])
|
||||
response = client.project.get(fields=["custom_instructions"])
|
||||
print(response)
|
||||
```
|
||||
|
||||
|
||||
@@ -297,7 +297,7 @@ client = MemoryClient(
|
||||
)
|
||||
|
||||
# Enable graph memory for all operations in this project
|
||||
client.update_project(enable_graph=True, version="v1")
|
||||
client.project.update(enable_graph=True)
|
||||
|
||||
# Now all add operations will use graph memory by default
|
||||
messages = [
|
||||
|
||||
Reference in New Issue
Block a user