Configure MemOS
Set MemOS configuration.
curl --request POST \
--url https://api.example.com/configure \
--header 'Content-Type: application/json' \
--data '
{
"model_schema": "NOT_SET",
"user_id": "root",
"session_id": "0ce84b9c-0615-4b9d-83dd-fba50537d5d3",
"mem_scheduler": {
"backend": "<string>",
"config": {},
"model_schema": "NOT_SET"
},
"user_manager": {
"backend": "sqlite",
"config": {}
},
"max_turns_window": 15,
"top_k": 5,
"enable_textual_memory": true,
"enable_activation_memory": false,
"enable_parametric_memory": false,
"enable_mem_scheduler": false,
"PRO_MODE": false
}
'import requests
url = "https://api.example.com/configure"
payload = {
"model_schema": "NOT_SET",
"user_id": "root",
"session_id": "0ce84b9c-0615-4b9d-83dd-fba50537d5d3",
"mem_scheduler": {
"backend": "<string>",
"config": {},
"model_schema": "NOT_SET"
},
"user_manager": {
"backend": "sqlite",
"config": {}
},
"max_turns_window": 15,
"top_k": 5,
"enable_textual_memory": True,
"enable_activation_memory": False,
"enable_parametric_memory": False,
"enable_mem_scheduler": False,
"PRO_MODE": False
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
model_schema: 'NOT_SET',
user_id: 'root',
session_id: '0ce84b9c-0615-4b9d-83dd-fba50537d5d3',
mem_scheduler: {backend: '<string>', config: {}, model_schema: 'NOT_SET'},
user_manager: {backend: 'sqlite', config: {}},
max_turns_window: 15,
top_k: 5,
enable_textual_memory: true,
enable_activation_memory: false,
enable_parametric_memory: false,
enable_mem_scheduler: false,
PRO_MODE: false
})
};
fetch('https://api.example.com/configure', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/configure",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model_schema' => 'NOT_SET',
'user_id' => 'root',
'session_id' => '0ce84b9c-0615-4b9d-83dd-fba50537d5d3',
'mem_scheduler' => [
'backend' => '<string>',
'config' => [
],
'model_schema' => 'NOT_SET'
],
'user_manager' => [
'backend' => 'sqlite',
'config' => [
]
],
'max_turns_window' => 15,
'top_k' => 5,
'enable_textual_memory' => true,
'enable_activation_memory' => false,
'enable_parametric_memory' => false,
'enable_mem_scheduler' => false,
'PRO_MODE' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/configure"
payload := strings.NewReader("{\n \"model_schema\": \"NOT_SET\",\n \"user_id\": \"root\",\n \"session_id\": \"0ce84b9c-0615-4b9d-83dd-fba50537d5d3\",\n \"mem_scheduler\": {\n \"backend\": \"<string>\",\n \"config\": {},\n \"model_schema\": \"NOT_SET\"\n },\n \"user_manager\": {\n \"backend\": \"sqlite\",\n \"config\": {}\n },\n \"max_turns_window\": 15,\n \"top_k\": 5,\n \"enable_textual_memory\": true,\n \"enable_activation_memory\": false,\n \"enable_parametric_memory\": false,\n \"enable_mem_scheduler\": false,\n \"PRO_MODE\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/configure")
.header("Content-Type", "application/json")
.body("{\n \"model_schema\": \"NOT_SET\",\n \"user_id\": \"root\",\n \"session_id\": \"0ce84b9c-0615-4b9d-83dd-fba50537d5d3\",\n \"mem_scheduler\": {\n \"backend\": \"<string>\",\n \"config\": {},\n \"model_schema\": \"NOT_SET\"\n },\n \"user_manager\": {\n \"backend\": \"sqlite\",\n \"config\": {}\n },\n \"max_turns_window\": 15,\n \"top_k\": 5,\n \"enable_textual_memory\": true,\n \"enable_activation_memory\": false,\n \"enable_parametric_memory\": false,\n \"enable_mem_scheduler\": false,\n \"PRO_MODE\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/configure")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"model_schema\": \"NOT_SET\",\n \"user_id\": \"root\",\n \"session_id\": \"0ce84b9c-0615-4b9d-83dd-fba50537d5d3\",\n \"mem_scheduler\": {\n \"backend\": \"<string>\",\n \"config\": {},\n \"model_schema\": \"NOT_SET\"\n },\n \"user_manager\": {\n \"backend\": \"sqlite\",\n \"config\": {}\n },\n \"max_turns_window\": 15,\n \"top_k\": 5,\n \"enable_textual_memory\": true,\n \"enable_activation_memory\": false,\n \"enable_parametric_memory\": false,\n \"enable_mem_scheduler\": false,\n \"PRO_MODE\": false\n}"
response = http.request(request)
puts response.read_body{
"message": "Operation successful",
"code": 200,
"data": null
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Body
Schema for configuration. This value will be automatically set.
User ID for the MOS. This is used to distinguish between different users' memories.
Session ID for the MOS. This is used to distinguish between different dialogue
Factory class for creating LLM configurations.
Show child attributes
Show child attributes
Factory class for creating MemReader configurations.
Show child attributes
Show child attributes
Memory scheduler configuration for managing memory operations
Show child attributes
Show child attributes
Factory for user manager configurations.
Show child attributes
Show child attributes
Maximum number of turns to keep in the conversation history
Maximum number of memories to retrieve for each query
Enable textual memory for the MemChat
Enable activation memory for the MemChat
Enable parametric memory for the MemChat
Enable memory scheduler for automated memory management
Enable PRO mode for complex query decomposition
curl --request POST \
--url https://api.example.com/configure \
--header 'Content-Type: application/json' \
--data '
{
"model_schema": "NOT_SET",
"user_id": "root",
"session_id": "0ce84b9c-0615-4b9d-83dd-fba50537d5d3",
"mem_scheduler": {
"backend": "<string>",
"config": {},
"model_schema": "NOT_SET"
},
"user_manager": {
"backend": "sqlite",
"config": {}
},
"max_turns_window": 15,
"top_k": 5,
"enable_textual_memory": true,
"enable_activation_memory": false,
"enable_parametric_memory": false,
"enable_mem_scheduler": false,
"PRO_MODE": false
}
'import requests
url = "https://api.example.com/configure"
payload = {
"model_schema": "NOT_SET",
"user_id": "root",
"session_id": "0ce84b9c-0615-4b9d-83dd-fba50537d5d3",
"mem_scheduler": {
"backend": "<string>",
"config": {},
"model_schema": "NOT_SET"
},
"user_manager": {
"backend": "sqlite",
"config": {}
},
"max_turns_window": 15,
"top_k": 5,
"enable_textual_memory": True,
"enable_activation_memory": False,
"enable_parametric_memory": False,
"enable_mem_scheduler": False,
"PRO_MODE": False
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
model_schema: 'NOT_SET',
user_id: 'root',
session_id: '0ce84b9c-0615-4b9d-83dd-fba50537d5d3',
mem_scheduler: {backend: '<string>', config: {}, model_schema: 'NOT_SET'},
user_manager: {backend: 'sqlite', config: {}},
max_turns_window: 15,
top_k: 5,
enable_textual_memory: true,
enable_activation_memory: false,
enable_parametric_memory: false,
enable_mem_scheduler: false,
PRO_MODE: false
})
};
fetch('https://api.example.com/configure', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/configure",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model_schema' => 'NOT_SET',
'user_id' => 'root',
'session_id' => '0ce84b9c-0615-4b9d-83dd-fba50537d5d3',
'mem_scheduler' => [
'backend' => '<string>',
'config' => [
],
'model_schema' => 'NOT_SET'
],
'user_manager' => [
'backend' => 'sqlite',
'config' => [
]
],
'max_turns_window' => 15,
'top_k' => 5,
'enable_textual_memory' => true,
'enable_activation_memory' => false,
'enable_parametric_memory' => false,
'enable_mem_scheduler' => false,
'PRO_MODE' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/configure"
payload := strings.NewReader("{\n \"model_schema\": \"NOT_SET\",\n \"user_id\": \"root\",\n \"session_id\": \"0ce84b9c-0615-4b9d-83dd-fba50537d5d3\",\n \"mem_scheduler\": {\n \"backend\": \"<string>\",\n \"config\": {},\n \"model_schema\": \"NOT_SET\"\n },\n \"user_manager\": {\n \"backend\": \"sqlite\",\n \"config\": {}\n },\n \"max_turns_window\": 15,\n \"top_k\": 5,\n \"enable_textual_memory\": true,\n \"enable_activation_memory\": false,\n \"enable_parametric_memory\": false,\n \"enable_mem_scheduler\": false,\n \"PRO_MODE\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/configure")
.header("Content-Type", "application/json")
.body("{\n \"model_schema\": \"NOT_SET\",\n \"user_id\": \"root\",\n \"session_id\": \"0ce84b9c-0615-4b9d-83dd-fba50537d5d3\",\n \"mem_scheduler\": {\n \"backend\": \"<string>\",\n \"config\": {},\n \"model_schema\": \"NOT_SET\"\n },\n \"user_manager\": {\n \"backend\": \"sqlite\",\n \"config\": {}\n },\n \"max_turns_window\": 15,\n \"top_k\": 5,\n \"enable_textual_memory\": true,\n \"enable_activation_memory\": false,\n \"enable_parametric_memory\": false,\n \"enable_mem_scheduler\": false,\n \"PRO_MODE\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/configure")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"model_schema\": \"NOT_SET\",\n \"user_id\": \"root\",\n \"session_id\": \"0ce84b9c-0615-4b9d-83dd-fba50537d5d3\",\n \"mem_scheduler\": {\n \"backend\": \"<string>\",\n \"config\": {},\n \"model_schema\": \"NOT_SET\"\n },\n \"user_manager\": {\n \"backend\": \"sqlite\",\n \"config\": {}\n },\n \"max_turns_window\": 15,\n \"top_k\": 5,\n \"enable_textual_memory\": true,\n \"enable_activation_memory\": false,\n \"enable_parametric_memory\": false,\n \"enable_mem_scheduler\": false,\n \"PRO_MODE\": false\n}"
response = http.request(request)
puts response.read_body{
"message": "Operation successful",
"code": 200,
"data": null
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}