Python
# To use the Python SDK, install the package:
# pip install memobase
from memobase import MemoBaseClient
from memobase.core.blob import ChatBlob
client = MemoBaseClient(project_url='PROJECT_URL', api_key='PROJECT_TOKEN')
uid = client.add_user()
u = client.get_user(uid)
b = ChatBlob(messages=[
{
"role": "user",
"content": "Hi, I'm here again"
},
{
"role": "assistant",
"content": "Hi, Gus! How can I help you?"
}
])
u.insert(b)
u.flush(sync=True)
events = u.search_event('query')
print(events)// To use the Go SDK, install the package:
// go get github.com/memodb-io/memobase/src/client/memobase-go@latest
import (
"fmt"
"log"
"github.com/memodb-io/memobase/src/client/memobase-go/core"
)
func main() {
projectURL := "YOUR_PROJECT_URL"
apiKey := "YOUR_API_KEY"
// Initialize the client
client, err := core.NewMemoBaseClient(
projectURL,
apiKey,
)
if err != nil {
log.Fatalf("Failed to create client: %v", err)
}
// Get a user
userID := "EXISTING_USER_ID" // Replace with an actual user ID
user, err := client.GetUser(userID, false)
if err != nil {
log.Fatalf("Failed to get user: %v", err)
}
// Search for events
events, err := user.SearchEvent("query", 10, 0.7, 7)
if err != nil {
log.Fatalf("Failed to search events: %v", err)
}
fmt.Printf("Found %d events
", len(events))
}curl --request GET \
--url https://api.memobase.dev/api/v1/users/event/search/{user_id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.memobase.dev/api/v1/users/event/search/{user_id}', 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.memobase.dev/api/v1/users/event/search/{user_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.get("https://api.memobase.dev/api/v1/users/event/search/{user_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.memobase.dev/api/v1/users/event/search/{user_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"events": [
{
"id": "<string>",
"event_data": {
"profile_delta": [
{
"content": "<string>",
"attributes": {}
}
],
"event_tip": "<string>",
"event_tags": [
{
"tag": "<string>",
"value": "<string>"
}
]
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"similarity": 123
}
],
"gists": [
{
"id": "<string>",
"gist_data": {
"content": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"similarity": 123
}
]
},
"errno": 0,
"errmsg": ""
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}User Events
Search Events
GET
/
api
/
v1
/
users
/
event
/
search
/
{user_id}
Python
# To use the Python SDK, install the package:
# pip install memobase
from memobase import MemoBaseClient
from memobase.core.blob import ChatBlob
client = MemoBaseClient(project_url='PROJECT_URL', api_key='PROJECT_TOKEN')
uid = client.add_user()
u = client.get_user(uid)
b = ChatBlob(messages=[
{
"role": "user",
"content": "Hi, I'm here again"
},
{
"role": "assistant",
"content": "Hi, Gus! How can I help you?"
}
])
u.insert(b)
u.flush(sync=True)
events = u.search_event('query')
print(events)// To use the Go SDK, install the package:
// go get github.com/memodb-io/memobase/src/client/memobase-go@latest
import (
"fmt"
"log"
"github.com/memodb-io/memobase/src/client/memobase-go/core"
)
func main() {
projectURL := "YOUR_PROJECT_URL"
apiKey := "YOUR_API_KEY"
// Initialize the client
client, err := core.NewMemoBaseClient(
projectURL,
apiKey,
)
if err != nil {
log.Fatalf("Failed to create client: %v", err)
}
// Get a user
userID := "EXISTING_USER_ID" // Replace with an actual user ID
user, err := client.GetUser(userID, false)
if err != nil {
log.Fatalf("Failed to get user: %v", err)
}
// Search for events
events, err := user.SearchEvent("query", 10, 0.7, 7)
if err != nil {
log.Fatalf("Failed to search events: %v", err)
}
fmt.Printf("Found %d events
", len(events))
}curl --request GET \
--url https://api.memobase.dev/api/v1/users/event/search/{user_id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.memobase.dev/api/v1/users/event/search/{user_id}', 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.memobase.dev/api/v1/users/event/search/{user_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.get("https://api.memobase.dev/api/v1/users/event/search/{user_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.memobase.dev/api/v1/users/event/search/{user_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"events": [
{
"id": "<string>",
"event_data": {
"profile_delta": [
{
"content": "<string>",
"attributes": {}
}
],
"event_tip": "<string>",
"event_tags": [
{
"tag": "<string>",
"value": "<string>"
}
]
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"similarity": 123
}
],
"gists": [
{
"id": "<string>",
"gist_data": {
"content": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"similarity": 123
}
]
},
"errno": 0,
"errmsg": ""
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Search events by query.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the user
Query Parameters
The query to search for
Number of events to retrieve, default is 10
Similarity threshold, default is 0.2
Only allow events within the past few days, default is 180
Response
Successful Response
⌘I