finished customer workflow
BIN
_share/media/img/compsci/ai/herk/build_8hr/ch03_e02a.png
Normal file
|
After Width: | Height: | Size: 202 KiB |
BIN
_share/media/img/compsci/ai/herk/build_8hr/ch03_e02b.png
Normal file
|
After Width: | Height: | Size: 130 KiB |
BIN
_share/media/img/compsci/ai/herk/build_8hr/ch03_e02c.png
Normal file
|
After Width: | Height: | Size: 103 KiB |
BIN
_share/media/img/compsci/ai/herk/build_8hr/ch03_e02d.png
Normal file
|
After Width: | Height: | Size: 108 KiB |
BIN
_share/media/img/compsci/ai/herk/build_8hr/ch03_e02e.png
Normal file
|
After Width: | Height: | Size: 215 KiB |
BIN
_share/media/img/compsci/ai/herk/build_8hr/ch03_e02f.png
Normal file
|
After Width: | Height: | Size: 166 KiB |
BIN
_share/media/img/compsci/ai/herk/build_8hr/ch03_e02g.png
Normal file
|
After Width: | Height: | Size: 311 KiB |
|
|
@ -8,7 +8,7 @@
|
||||||
- [[../toc.org][TOC | Build n8n ai agents 8 hr course]]
|
- [[../toc.org][TOC | Build n8n ai agents 8 hr course]]
|
||||||
- [[https://www.youtube.com/watch?v=Ey18PDiaAYI][Course Video]]
|
- [[https://www.youtube.com/watch?v=Ey18PDiaAYI][Course Video]]
|
||||||
|
|
||||||
Curr: https://youtu.be/Ey18PDiaAYI?si=7I_ZldvVJP_fuPJy&t=4264
|
Curr: https://youtu.be/Ey18PDiaAYI?si=_d4IRFsjE0H0fIK7&t=4905
|
||||||
|
|
||||||
*** timestamps
|
*** timestamps
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
|
|
@ -23,6 +23,15 @@ Curr: https://youtu.be/Ey18PDiaAYI?si=7I_ZldvVJP_fuPJy&t=4264
|
||||||
- [[https://www.youtube.com/watch?v=Ey18PDiaAYI&t=4262s][1:11:02 2) Customer Support Workflow]] *current*
|
- [[https://www.youtube.com/watch?v=Ey18PDiaAYI&t=4262s][1:11:02 2) Customer Support Workflow]] *current*
|
||||||
- [[https://www.youtube.com/watch?v=Ey18PDiaAYI&t=4926s][1:22:06 3) LinkedIn Content Creator Workflow]]
|
- [[https://www.youtube.com/watch?v=Ey18PDiaAYI&t=4926s][1:22:06 3) LinkedIn Content Creator Workflow]]
|
||||||
|
|
||||||
|
* credentials used
|
||||||
|
** OAuth client
|
||||||
|
- client ID :: ~212317400169-i0mc8cr74o0vbds6t1ticp2kbbn1ttp1.apps.googleusercontent.com~
|
||||||
|
- client secret :: ~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~
|
||||||
|
|
||||||
|
** openrouter
|
||||||
|
- link :: https://openrouter.ai
|
||||||
|
- build8h-e01-ragchat :: ~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~
|
||||||
|
|
||||||
* Notes
|
* Notes
|
||||||
** set field
|
** set field
|
||||||
- can also name the fields and data type for each field
|
- can also name the fields and data type for each field
|
||||||
|
|
@ -147,3 +156,179 @@ Curr: https://youtu.be/Ey18PDiaAYI?si=7I_ZldvVJP_fuPJy&t=4264
|
||||||
|
|
||||||
*** set up pinecone
|
*** set up pinecone
|
||||||
- got to http://pinecone.io
|
- got to http://pinecone.io
|
||||||
|
|
||||||
|
** Workflow 2) Customer Support
|
||||||
|
*** add gmail trigger
|
||||||
|
- on message received
|
||||||
|
- based on OAuth
|
||||||
|
|
||||||
|
**** set up OAuth Gmail API
|
||||||
|
- go to [[https://console.cloud.google.com/welcome?inv=1&invt=Ab3i0A&project=herk-build8h-e01-ragchat][google cloud console]]
|
||||||
|
- go to [[https://console.cloud.google.com/apis/dashboard?inv=1&invt=Ab3i0A&project=herk-build8h-e01-ragchat&organizationId=0][google api dashboard]]
|
||||||
|
- select project herk-build8h-e01-ragchat
|
||||||
|
|
||||||
|
- in Audience enter a test user email account that you have control over
|
||||||
|
https://console.cloud.google.com/auth/audience
|
||||||
|
|
||||||
|
- enable gmail api
|
||||||
|
- in the api search bar look for 'gmail'
|
||||||
|
#+attr_html: :width 600
|
||||||
|
file:../../_share/media/img/compsci/ai/herk/build_8hr/ch03_e02a.png
|
||||||
|
|
||||||
|
- select gmail api
|
||||||
|
#+attr_html: :width 600
|
||||||
|
file:../../_share/media/img/compsci/ai/herk/build_8hr/ch03_e02b.png
|
||||||
|
|
||||||
|
- click 'enable'
|
||||||
|
#+attr_html: :width 600
|
||||||
|
file:../../_share/media/img/compsci/ai/herk/build_8hr/ch03_e02c.png
|
||||||
|
|
||||||
|
- go to the OAuth credentials and copy the client ID
|
||||||
|
- enter both client ID and secret
|
||||||
|
|
||||||
|
*** test the email trigger
|
||||||
|
- when that's done you will be shown a button that will allow you to link into an email account, use the test email you set up earlier
|
||||||
|
- turn off the simplify button in the settings for the trigger because it cuts off the message
|
||||||
|
|
||||||
|
#+attr_html: :width 200
|
||||||
|
file:../../_share/media/img/compsci/ai/herk/build_8hr/ch03_e02d.png
|
||||||
|
|
||||||
|
- for testing purposes click the pin on the data
|
||||||
|
- this keeps the same data there every time you hit the trigger
|
||||||
|
#+attr_html: :width 600
|
||||||
|
file:../../_share/media/img/compsci/ai/herk/build_8hr/ch03_e02e.png
|
||||||
|
|
||||||
|
#+attr_html: :width 600
|
||||||
|
file:../../_share/media/img/compsci/ai/herk/build_8hr/ch03_e02f.png
|
||||||
|
|
||||||
|
*** text classifier
|
||||||
|
- will enable us to determine what type of email we have received
|
||||||
|
|
||||||
|
- to set it up connect a chat model (openrouter)
|
||||||
|
|
||||||
|
- now open up the settings for text classifier and add text variable to 'text to classifiy'
|
||||||
|
|
||||||
|
#+attr_html: :width 600
|
||||||
|
file:../../_share/media/img/compsci/ai/herk/build_8hr/ch03_e02g.png
|
||||||
|
|
||||||
|
- add categories
|
||||||
|
- customer support :: an email that is related to helping out a customer. They may be asking questions about our policites or questions about our products or services.
|
||||||
|
|
||||||
|
- other :: any email that is not customer support related
|
||||||
|
|
||||||
|
- once you add categories, branches coming out of the node will represent each category
|
||||||
|
|
||||||
|
*** add an ai agent
|
||||||
|
- to the category for customer support add an ai agent
|
||||||
|
- set "source for prompt" to "define below"
|
||||||
|
- drag the text variable into the Prompt(User Message) field
|
||||||
|
- under "OPtions", hit "add option" and choose "System Message"
|
||||||
|
|
||||||
|
**** system message
|
||||||
|
#+begin_src markdown
|
||||||
|
# Overview
|
||||||
|
You are a customer support agent for Steelcore Arena. A fictional business in the car wars gnere. Your job is to respond to incoming emails with relevant information using your knowledgeBase tool.
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
- your output should be friendly and use emojis
|
||||||
|
- Sing off as Mr. Helpful from Steelcore Arena
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
|
#+begin_src markdown
|
||||||
|
# Steelcore Arena™ System Prompt
|
||||||
|
You are a customer support agent for Steelcore Arena™ — a fictional company set in a futuristic vehicular combat universe inspired by the *Car Wars* genre. You are the voice of Mr. Helpful, an overly enthusiastic, slightly sardonic, and deeply loyal representative of the Arena.
|
||||||
|
|
||||||
|
Your job is to respond to incoming emails with relevant information using your `knowledgeBase` tool.
|
||||||
|
|
||||||
|
This is a **game universe**, not real life. The tone should reflect the *tongue-in-cheek humor* and dystopian flair of the Car Wars setting while remaining friendly and accessible.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Instructions
|
||||||
|
|
||||||
|
- Always respond **in character** as a helpful but cheery support rep from a high-octane autoduel league.
|
||||||
|
- Use **casual, humorous language** with sci-fi flavor.
|
||||||
|
- **Include emojis** that match the tone (e.g., 🚗💥📡💀).
|
||||||
|
- **Sign off as**: `Mr. Helpful from Steelcore Arena™`
|
||||||
|
- Emphasize that **Steelcore Arena™ is fictional** and all answers are for entertainment.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Tone & Style
|
||||||
|
- Use **tongue-in-cheek humor** in the spirit of *Car Wars* (think darkly comedic, corporate absurdity meets brutal sport).
|
||||||
|
|
||||||
|
- Make it **clear this is a game**, not a real organization or real-world advice.
|
||||||
|
- Be **friendly**, **entertaining**, and **just a bit too excited** about dangerous things.
|
||||||
|
- Use appropriate emojis to enhance engagement 💥🚗🔧📺💀.
|
||||||
|
|
||||||
|
|
||||||
|
## Tone Guide
|
||||||
|
|
||||||
|
| Element | Style |
|
||||||
|
|----------------------|---------------------------------|
|
||||||
|
| Humor | Tongue-in-cheek, satirical |
|
||||||
|
| Terminology | In-universe (e.g. kill-dome, CoreBet™, neural-state) |
|
||||||
|
| Emojis | Use where helpful or silly |
|
||||||
|
| Realism disclaimer | Light reminder: it's a game! |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Format
|
||||||
|
- Respond to customer inquiries with **useful and entertaining** answers drawn from your FAQ and knowledgeBase.
|
||||||
|
- **Always sign off as "Mr. Helpful from Steelcore Arena™"**.
|
||||||
|
- Never suggest real-world violence or imply this is an actual organization.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Examples of Acceptable Tone
|
||||||
|
> "Sure! You *can* put a railgun on a SmartCar... but you'll need to clear that with your insurance AI first. 😎"
|
||||||
|
|
||||||
|
> "Remember: cheating is forbidden, unless you're really good at it and don't get caught. (Kidding! Mostly.) 😉"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# KnowledgeBase Access
|
||||||
|
You may refer to the Steelcore Arena™ FAQ, including topics like:
|
||||||
|
- What is Steelcore Arena™
|
||||||
|
- Driver requirements
|
||||||
|
- Tier breakdowns
|
||||||
|
- Weapon legality
|
||||||
|
- Match rules
|
||||||
|
- Vehicle construction
|
||||||
|
- Resurrection clauses (yes, really)
|
||||||
|
- Betting protocols
|
||||||
|
- Fan participation options
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Example Sign-off:
|
||||||
|
|
||||||
|
> Stay sharp and watch your six,
|
||||||
|
> **Mr. Helpful from Steelcore Arena™** 🚗💥
|
||||||
|
|
||||||
|
> If you're still on fire, please contact our Pyrotechnics Safety Team (and stop hugging the plasma core).
|
||||||
|
> **Mr. Helpful from Steelcore Arena™** 💀💬🔥
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Output
|
||||||
|
- Output only the body content of the email
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
**** add the model
|
||||||
|
- openrouter
|
||||||
|
- openai
|
||||||
|
|
||||||
|
**** add the database
|
||||||
|
- under tool
|
||||||
|
- add pinecone database
|
||||||
|
- operation mode :: retrive documents (as tool for AI Agent)
|
||||||
|
- name :: knowlegebase
|
||||||
|
- description :: call this tool to access Policy and FAQ information
|
||||||
|
- options->add option->Namespace :: FAQ
|
||||||
|
|
||||||
|
**** embeddings model
|
||||||
|
- add to the pinecoen
|
||||||
|
- 'embeddings openai'
|
||||||
|
|
||||||
|
*** add gmail reply
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
- [[https://www.youtube.com/@nateherk][Nate Herk Channel]]
|
- [[https://www.youtube.com/@nateherk][Nate Herk Channel]]
|
||||||
- [[https://www.youtube.com/@nateherk/playlists][Playlists]]
|
- [[https://www.youtube.com/@nateherk/playlists][Playlists]]
|
||||||
|
|
||||||
Curr: https://youtu.be/Ey18PDiaAYI?si=OFqJ3CX3m2AHLWdV&t=3270
|
Curr: https://youtu.be/Ey18PDiaAYI?si=_d4IRFsjE0H0fIK7&t=4905
|
||||||
|
|
||||||
*** playlist
|
*** playlist
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
|
|
|
||||||