Skip to main content
  1. Blog/

Use `format pattern` in Nushell to create dynamic LLM prompts

·229 words·2 mins

Let’s say I have:

╭───┬──────────────┬───────────────────────┬─────────────╮
│ # │     navn     │      branchekode      │ hovedkontor │
├───┼──────────────┼───────────────────────┼─────────────┤
│ 0 │ Maersk       │ Transport og logistik │ København   │
│ 1 │ Novo Nordisk │ Lægemidler            │ Bagsværd    │
│ 2 │ Danske Bank  │ Finans og bank        │ København   │
╰───┴──────────────┴───────────────────────┴─────────────╯

And I would like to add a column with contact information.

I can easily do that with Nushell and a large language model:

open virksomheder.json
| insert kontakt { $in | format pattern "har du et bud på kontakt
email til {navn} returner kun en emailadresse og returner kun
selve emailadressen" | cer complete }

And then suddenly we have:

╭───┬──────────────┬───────────────────────┬─────────────┬────────────────────────────╮
│ # │     navn     │      branchekode      │ hovedkontor │          kontakt           │
├───┼──────────────┼───────────────────────┼─────────────┼────────────────────────────┤
│ 0 │ Maersk       │ Transport og logistik │ København   │ [email protected]         │
│ 1 │ Novo Nordisk │ Lægemidler            │ Bagsværd    │ [email protected]       │
│ 2 │ Danske Bank  │ Finans og bank        │ København   │ [email protected] │
╰───┴──────────────┴───────────────────────┴─────────────┴────────────────────────────╯

Here it is the `format pattern’ in Nushell which makes it easy to create dynamic prompts where certain words in the prompt are replaced with the right word according to the given context.

In this case, as you can see, I take the name of the company from the navn column and insert it at the proper position in the prompt to create the new kontakt column.