Skip to main content

Build Your Own AI Personal Assistant in TypeScript

3h 38m 48s
English
Paid

Course description

Large language models (LLM) are incredibly powerful, especially for tasks that are difficult to formalize: analyzing disparate information, task prioritization, meeting preparation, finding lost context in correspondence, and automating routine tasks. However, universal chatbots do not fully unlock this potential: they do not use your data, do not remember your preferences, do not adapt to your workflows, and remain a "black box."

In this course, you will learn how to create your own personal AI assistant in TypeScript—a fully managed system that works with your data, remembers context, utilizes tools through API, and always stays under your control. You will understand why the key value lies not in the model itself, but in the system architecture: data retrieval, memory, context management, agent scripts, validation, and security.

Read more about the course

In 5 days of intensive practice, you will implement from scratch:

  • an intelligent search on your own data (BM25, semantic search, RRF, query rewriting);
  • an advanced memory system (semantic and episodic memory);
  • quality and reliability assessment of responses through automatic eval mechanisms;
  • safe interaction with tools and API with human-in-the-loop confirmations.

As a result, you will have a ready-to-use, expandable personal AI assistant that:

  • works with large volumes of data;
  • learns from your preferences;
  • can perform actions safely;
  • is not tied to a specific model.

Apart from the ready assistant, you will gain fundamental skills in modern AI engineering, which can be applied to create any custom LLM systems—for work, business, and personal projects.

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 113 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 001 Course Overview

All Course Lessons (113)

#Lesson TitleDurationAccess
1
001 Course Overview Demo
02:08
2
002 Skill Building Vs. Project
00:47
3
003 How to Do Skill Building Exercises
02:42
4
004 Project Repo Intro
03:56
5
005 How to Do The Project Exercises
04:43
6
006 Getting Model Keys
01:32
7
007 Introduction to Discord
01:47
8
008 What to Do Now
01:10
9
009 Retrieval Introduction
03:01
10
010 Overview of the BM25 Algorithm
03:48
11
011 Retrieval with BM25
01:20
12
012 Retrieval with BM25 solution
01:53
13
013 Replacing BM25 with Embeddings
04:13
14
014 Replacing BM25 with Embeddings solution
01:32
15
015 Rank Fusion
03:06
16
016 Query Rewriting
01:45
17
017 Query Rewriting solution
01:48
18
018 Building Your Own Dataset
01:42
19
019 Intro to Building a Search Algorithm
00:53
20
020 Adding BM25 Search
01:52
21
021 Caching Embeddings
02:23
22
022 Searching with Embeddings
01:08
23
023 Combining Results with Reciprocal Rank Fusion
01:29
24
024 Intro to Adding Search Tool to Agent
00:21
25
025 Search Tool
02:23
26
026 Context Engineering Search Tool
01:14
27
027 Chunking Intro
01:33
28
028 Fixed Size Chunks
02:53
29
029 Structural Chunking
02:06
30
030 Structural Chunking Solution
02:37
31
031 Retrieval with Chunks
01:43
32
032 Reranking
02:14
33
033 Reranking Solution
02:17
34
034 Chunking Emails Playground Intro
00:22
35
035 Abstracted Embeddings Cache
01:30
36
036 Adding the Text Splitter
01:21
37
037 Applying Chunking to Search Algorithms
02:09
38
038 Reranking and Chunking in Search Tool Intro
00:25
39
039 Adding the Reranker
01:44
40
040 Giving the Reranker More Context
02:21
41
041 Viewing Tool Calls in the Frontend
02:22
42
042 Custom Filter Tools Intro
00:45
43
043 Added Filter Emails Tool
03:29
44
044 Displayed Filter Tools in Frontend
00:41
45
045 Metadata First Retrieval Pattern Intro
00:48
46
046 Make Search Only Provide Metadata
04:13
47
047 Including Whole Threads
02:29
48
048 Basic Memory Setup
02:51
49
049 Basic Memory Setup Solution
02:10
50
050 Updating Previous Memories
01:52
51
051 Updating Previous Memories Solution
02:49
52
052 Memory as Tool Call
01:34
53
053 Memory as Tool Call Solution
03:05
54
054 Semantic Recall on Memories
02:26
55
055 Intro to Semantic Recall on Memories
00:42
56
056 Made Embedding Functions Generic
01:48
57
057 Added Memory Search Function
02:50
58
058 Added Memories to the Agent
01:25
59
059 Added Memory Extraction
02:05
60
060 Fixed System Prompt
01:29
61
061 Intro to Working Memory via Message Embeddings
01:01
62
062 Make Chat API Receive One Message
02:03
63
063 Added Search Messages Function
01:01
64
064 Implemented Working Memory
01:54
65
065 Intro to Episodic Memory from Conversations
01:11
66
066 Storing Chat Summaries
01:21
67
067 Added the reflectOnThat Function
01:58
68
068 Searching for Related Chats
00:49
69
069 Working Episodic Memory Setup
02:47
70
070 Evaluating Tool Call Agents
02:33
71
071 Evaluating Tool Call Agents Solution
01:37
72
072 Implementing a Deterministic Tool Call Scorer
01:31
73
073 Implementing a Deterministic Tool Call Scorer Solution
01:05
74
074 Using Evalite Each for A_B Testing
01:07
75
075 Using Evalite Each for A_B Testing Solution
01:52
76
076 Adversarial Inputs
01:09
77
077 Adversarial Inputs Solution
01:48
78
078 Creating a Clarifying Questions Tool
01:36
79
079 Creating a Clarifying Questions Tool Solution
01:45
80
080 Intro to Evaluating Memory Extraction
00:24
81
081 Make extractMemories Testable
01:02
82
082 Added createUIMessageFixture
01:24
83
083 Scaffold Eval
02:13
84
084 Added Dataset
01:59
85
085 Added answerCorrectness Scorer
04:20
86
086 Moved to answerSimilarity
01:56
87
087 Intro to Evaluating End to End Agent
01:04
88
088 Moved Agent Into Its Own File
01:33
89
089 Scaffolding the Eval
02:08
90
090 Customized Evalite's UI
01:13
91
091 Added Answer Correctness Scorer
01:43
92
092 Adding Multi-Hop and Filtering Queries
02:34
93
093 Human in the Loop Intro
01:11
94
094 Initiating Human in the Loop Requests
02:12
95
095 Initiating Human in the Loop Requests Solution
00:51
96
096 Approving Human in the Loop Requests
03:33
97
097 Converting Custom Data Parts For The LLM
01:27
98
098 Converting Custom Data Parts For The LLM Solution
01:01
99
099 Processing Human in the Loop Requests
02:53
100
100 Processing Human in the Loop Requests Solution
01:29
101
101 Executing the Human in the Loop Requests
01:57
102
102 Executing the Human in the Loop Requests Solution
02:28
103
103 Intro to Building the Destructive Tools
01:45
104
104 Hooked Up Zapier MCP
02:21
105
105 Removed Unwanted Tools
02:04
106
106 Added Local Definitions
02:16
107
107 Intro to Build the Human in the Loop Harness
00:15
108
108 HITL on the Backend
04:21
109
109 HITL on the Frontend
02:53
110
110 Intro to Filtering Tool Groups on the Frontend
02:15
111
111 Added Types and Helper Functions
02:19
112
112 Implemented App Tagging on Frontend
01:52
113
113 Implemented App Tagging on Backend
02:00

Unlock unlimited learning

Get instant access to all 112 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

  • AI Design with Ideogram

    AI Design with Ideogram

    Sources: designcode.io
    Meet Ideogram - an image generation tool powered by artificial intelligence that turns your ideas into stunning visuals. Whether...
    1 hour 3 minutes 49 seconds
  • Coding with AI

    Coding with AI

    Sources: Jeremy Morgan
    Let's be realistic. You would like to delegate many tedious software development tasks to an assistant - and now it's possible! Tools for...
  • AI Engineering Bootcamp: Building AI Applications (LangChain, LLM APIs + more)

    AI Engineering Bootcamp: Building AI Applications (LangChain, LLM APIs + more)

    Sources: zerotomastery.io
    This course is your practical path to a career as a generative AI engineer: not just using technologies, but creating them. First, you will enhance your skills.
    18 hours 33 minutes 41 seconds
  • Build an AI Agent (From Scratch)

    Build an AI Agent (From Scratch)

    Sources: Younghee Song, Jungjun Hur
    Find out how to develop a fully functional AI agent. A step-by-step guide to creating intelligent assistants by Chongjun Hur and Yeonhee Son.
  • Fullstack Typescript with TailwindCSS and tRPC Using Modern Features of PostgreSQL

    Fullstack Typescript with TailwindCSS and tRPC Using Modern Features of PostgreSQL

    Sources: fullstack.io
    This comprehensive course will equip you with the skills and knowledge to build modern full-stack applications using TypeScript, TailwindCSS, tRPC, and PostgreS
    4 hours 54 minutes 49 seconds