Make Assistants choose between specific values

I’m currently building a job-recommendation bot for people who are unsure which career they should get into.
I basically have a list of 100 Professions (JSON format with ‘name’ and ‘id’), and intend to have the assistant ask questions like ‘Which field are you most interested in? Technology - Retail - Construction’, and then have the assistant return the best-fitting professions.
The jobs are uploaded in the file ‘available-jobs.json’ and I use the function ‘job_proposals_issue’ to eventually out put the desired ids.
However, even though I explicitly tell the AI to only include ids, which are available in the desired file, it frequently returns ids, which are not.
I also tried adding the JSON object of the available jobs into the function description itself, however, it still missbehaves frequently.
Is there something I’m missing?
Is there a better way to create an agent which creates well-fitting functions around a specific set of possible values and outputs them accordingly?

This is what the function looks like:

{
  "name": "job_proposals_issue",
  "description": "Outputs the IDs of the proposed training courses to be displayed to the user.",
  "parameters": {
    "type": "object",
    "properties": {
      "message": {
        "type": "string",
        "description": "Message sent by the chatbot"
      },
      "jobIds": {
        "type": "array",
        "items": {
          "type": "string",
          "description": "ID of a training program to be suggested to the user. This must be a valid ID, i.e. it must come from the available training courses in the 'available-jobs.json' file. If one of the jobIds is not in 'available-jobs.json', this is considered a very serious error. It is better to output fewer ids than incorrect ones."
        },
        "description": "IDs of the training courses to be suggested to the user. 1-5 of these trainings can be suggested. Make sure that the IDs are valid."
      }
    },
    "required": []
  }
}