Skip to content

Ask an LLM to match content to one of a set of pre-defined intents.

Notifications You must be signed in to change notification settings

saibotsivad/llm-intent-matcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LLM Intent Matcher

Given some text, like from an email or SMS, use an LLM to determine what the most likely intent is.

(Uses pre/post LLM scripts to reduce risk of error.)

Overview

Consider something like an email, or an SMS message.

Then consider a list of actions, like this:

  • Add to reading list
  • Alert me with a 2FA code
  • Add/remove from a specific list (like purchased items waiting for delivery)

In this library, you define a key/value set of intents, where the key is the intent title, and the value is the context, like this:

const intents = {
	'add to reading list': `
		the email contains a long-form essay or blog post
		type content and does not appear to be marketing
	`,
	'add to awaiting-delivery list': `
		the email notes that a physical item was purchased
		that will be shipped and delivered
	`,
	'mark as delivered on awaiting-delivery list': `
		the email notes that a physical item was delivered
		to an address or other physical location
	`,
}

You'd provide an LLM interface and the intents map, so imagine something like this:

import { TODO } from '@saibotsivad/TODO'
// NOTE TO SELF: don't have all the different LLM implementations in
// this lib, maybe define types in this lib and make a couple example
// libs that use those, but keep this lib slim
import { llm } from '@saibotsivad/TODO-llm-chat-jippity'

const intents = { /*... see above ...*/ }

const inquire = TODO({
	llm: llm({ apiKey, etc }),
	intents,
})

Then you can call that with some content, e.g. an email or SMS or whatever else, and it will return the key from the intents dictionary. For example, a plaintext email from Amazon:

const key = await inquire(`
	Thanks for your order, Tobias!
	Ordered Shipped Out for Delivery Delivered
	Arriving Friday
	Tobias - Cityname, STATE
	Order # 123-123-123-123-123
	View or edit order
	Skechers mens Go Walk Max-athletic
	Quantity: 1
`)
console.log(key) // => "physical item requiring delivery"

About

Ask an LLM to match content to one of a set of pre-defined intents.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published