Assistant ERP for Enterprises

I am developing an assistant to create products, incidents, invoices… The thing is that I am not very clear about how to relate a misspelled name to an existing product. I try to deal with it from my back but my inaccurate search does not find 100% either, how do I make it understand the catalog I have, taking into account the limits of open ai???
image

2 Likes

I consider assistants as agents, each with a very specific task to do.
For searching while accounting for misspelt names, you can implement fuzzy search or use embeddings.

Can you describe what you’re doing that leads to this?

4 Likes

You were sent a JSONARRAY of, for example, 2500 products with this format: “name”: “WEBER.TENE STILO (435D)”,
“id” : 29411128
}, {
“name” : “SCREWDRIVER 4X100 EXPE”,
“id” : 29411129
}, {
“name” : “SikaFiber M-12 ES /20 x 0.6 KG”,
“id” : 29411130
},
It saturates and when the user tries to do more things that spend tokens right at the same minute, that happens, and I also saw that the limits are per account, not per thread. embeddings who to work exactly?? thx!! :slight_smile: :blush:

1 Like
  • sounds like you need a strategy of slowing the user down and forcing a more controlled, steady, retrieval - perhaps the current architecture needs to be reviewed?
  • as per @sps you could add additional logic to refine the data by looking up the products with an embeddings search with a small tolerance to deal with misspellings and replace the supplied product name with the refined name from your official database (the source of truth). Be careful with this though as it might lead to errors, so you will need to design this carefully and potentially escalate changes for human review via additional workflow logic.
3 Likes

This should be pretty simple to do with file search.

Additionally, you can save tokens by restructuring the data to key value pairs, where either of the “name” or “id” is a key with the other one as its value.

4 Likes

I tried with a vector in the user’s thread and adding a txt or a json with the array of products but it doesn’t read it, that is, it doesn’t recognize them, it’s as if it didn’t exist for him.

Maybe break this out into a “product matching” function?

You could also feed back candidates to the user and ask them to pick one, “do you mean … ?”

The best solution there might be bespoke UI that presented buttons that the user could hit to confirm, one button for each likely product.

Very interesting project!

3 Likes

If you want the assistant to always use this knowledge along with the instructions, use the vector store attached to the assistant, instead of the thread.

I recommend these steps:
Step 1: Create a new Assistant with File Search Enabled

Step 2: Upload files and add them to a Vector Store

Step 3: Update the assistant to use the new Vector Store

Then you can create a thread, add message(s) to it, and create a run.

All this can be very easily done with the Assistants Playground.

3 Likes