Skip to navigation

Add User Specific Business Data to User Graphs

This guide demonstrates how to add user-specific business data to a user’s knowledge graph. We’ll create a user, fetch their business data, and add it to their graph.

First, we will initialize our client and create a new user:

# Initialize the Zep client
zep_client = AsyncZep(api_key=API_KEY)
# Add one example user
user_id_zep = uuid.uuid4().hex
await zep_client.user.add(
user_id=user_id_zep,
)

Then, we will fetch and format the user’s business data. Note that the functionality to fetch a users business data will depend on your codebase.

Also note that you could make your Zep user IDs equal to whatever internal user IDs you use to make things easier to manage. Generally, Zep user IDs, session IDs, Group IDs, etc. can be arbitrary strings, and can map to your app’s data schema.

# Define the function to fetch user business data
async def get_user_business_data(user_id_business):
# This function returns JSON data for the given user
# This would vary based on your codebase
return {}
# Placeholder for business user id
user_id_business = "placeholder_user_id" # This would vary based on your codebase
# Retrieve the user-specific business data
user_data_json = await get_user_business_data(user_id_business)
# Convert the business data to a string
json_string = json.dumps(user_data_json)

Lastly, we will add the formatted data to the user’s graph using the graph API:

# Add the JSON data to the user's graph
await zep_client.graph.add(
user_id=user_id_zep,
type="json",
data=json_string,
)

Here, we use type="json", but the graph API also supports type="text" and type="message". The type="text" option is useful for adding background information that is in unstructured text such as internal documents or web copy. The type="message" option is useful for adding data that is in a message format but is not your user’s chat history, such as emails. Read more about this here.

Also, note that when adding data to the graph, you should consider the size of the data you are adding and our payload limits. Read more about this here.

You have now successfully added user-specific business data to a user’s knowledge graph, which can be used alongside chat history to create comprehensive user memory.