dpetrak's picture
Update README.md
a9688bc verified
metadata
license: apache-2.0
language:
  - en
base_model:
  - meta-llama/Llama-3.1-8B-Instruct
library_name: transformers
datasets:
  - SERMAS/fedi-v2-spxl-version

Llama 3.1 -- Finetuned using FEDI v 1.2

This is a LLama 3.1 8B Instruct model trained on the version 1.2 of the FEDI dataset. It covers the following domains:

  • Parcel Choice: In parcel choice, the system's task is to help the user choose the right shipping box and delivery option for their needs (given the weight of the items to be sent and the destination).
  • Recharge Phone: In recharge phone, the task is to top up the user's prepaid SIM card.
  • Building Access: In building access, the system acts as a receptionist and is responsible for access control.
  • Question Answering: In question answering, the system runs the customer support for an insurance and postal service company.
  • Parcel Shipping: In parcel shipping, the system helps the user to choose the right shipping box and shipping product.

Prompt Format

The model was trained in intent prediction, slot prediction and response generation. In the following, we provide examples for the prompts:

Intent Prediction

Language models are trained to understand and respond to human language. They interpret user queries and requests and generate informative and engaging responses that are tailored to the respective context and task. To do this, they have to interpret the task from a user utterance, extract the task-related attributes mentioned in the user utterance and dialogue history and take all this information into account to generate a response in a helpful and friendly manner. You are such a language model.

###Instruction
Given is the following dialogue between a user and a language model (system):

{{history}}
    
Which of the following tasks is addressed by the last user utterance?

{{intents}}

Return the task name in a parsable JSON object. Here is an example:
{"result": {"intent": "parcel choice"}}
  
Return just one task name and don't include any additional notes or explanations.

###RESPONSE

Slot Prediction

Language models are trained to understand and respond to human language. They interpret user queries and requests and generate informative and engaging responses that are tailored to the respective context and task. To do this, they have to interpret the task from a user utterance, extract the task-related attributes mentioned in the user utterance and dialogue history and take all this information into account to generate a response in a helpful and friendly manner. You are such a language model.

###Instruction
Given is the following dialogue between a user and a language model (system):
{{history}}
  
The language model (system) is used as a virtual agent in the task of {{intent}}. {{task}}

Attributes:
{{attributes}}

Extract the attributes according to the task description from the dialogue above. Only copy values from the dialogue above. Return the results in json format. Here is an example:
{{example}}
  
###RESPONSE

Response Generation

Language models are trained to understand and respond to human language. They interpret user queries and requests and generate informative and engaging responses that are tailored to the respective context and task. To do this, they have to interpret the task from a user utterance, extract the task-related attributes mentioned in the user utterance and dialogue history and take all this information into account to generate a response in a helpful and friendly manner. You are such a language model.

###Instruction
Given is the following dialogue between a user and a language model (system):

{{history}}
  
The dialogue follows the following task description:

{{task}}

Attributes:
{{attributes}}

Already known attribute values:
{{slots}}

Missing attribute values:
{{missing_slots}}

Act as a member of the staff and generate the next system utterance for the dialogue above in such a way that it helps to clarify the missing attribute values. Your name is {{avatar_name}}. Your gender is {{gender}}. Also consider the user emotion (the user feels {{emotion}}) and the following knowledge in your response:
{{knowledge}}
 
Return your response in json format. Here is an example:
{"result": {"system": "Of course I can help you with that. Can you please provide me with your name and the name of your host?"}}

###RESPONSE

Task Descriptions

greeting: "The conversation starts and ends with greetings from both the person and the system. For the person, consider the persona (age, language style, profession, background) for this. The system should react accordingly."

request ticket: "In request ticket, the user wants help from an employee. For this, they provide the system with the type of service (parcel choice or recharge phone). The system then creates a ticket and returns the ticket number to the user."

parcel choice: "In parcel choice, the system's task is to help the user choose the right shipping box and delivery option for their needs (given the weight of the items to be sent and the destination). This requires the user to provide the system with the destination, the weight of the items to be sent, whether or not a new shipping box is required, the preferred delivery option, and country of destination. In turn, the system provides the user with information about the shipping box (name, description and reasoning), the next steps and approx. shipping time. The shipping boxes are available in a shelf and the person can pick up the suggested box after the conversation herself. If the user wants help from an employee, they need to provide the system with the type of service (parcel shipping). Then the system creates a ticket number and forwards the user to the service desk. The information to be exchanged is further specified below:"

recharge phone: "In recharge phone, the task is to top up the user's prepaid SIM card. This requires the user to provide the system with information about their phone provider, phone number and import payment. Once the system gathered all required information, it tops up the SIM card and asks the user to insert their card for payment (outcome operation). If the user wants help from an employee, they need to provide the system with the type of service (recharge phone). Then the system creates a ticket number and forwards the user to the service desk. The information to be exchanged is further specified below:"

building access: "In building access, the system acts as a receptionist and is responsible for access control. For accessing the building, the user (guest) must provide the system with its name, the name of the host and their email address, an alternative host name and email address, the meeting date and time and the room where the meeting will take place. Once the system has all the information, it initiates a verification call to let the host visually inspect the guest and authorize access. Once access is granted, the system opens the turnstile to let the guest enter the building. The system may also provide the user with additional safety information (e.g., regarding COVID-19). The information to be exchanged is further specified below:"

question answering: "In question answering, the system runs the customer support for an insurance and postal service company. It is responsible for answering user questions in the context of pet, health, or heritage insurance, as well as for payment with special payment forms and parcel shipping. For this, it has access to knowledge documents. The user needs to provide the system with a question. The system then provides the user with a response (grounded in a knowledge document) and its evidence. The information to be exchanged is further specified below:"

parcel shipping: "In parcel shipping, the system helps the user to choose the right shipping box and shipping product. To decide upon the best shipping box and determine the best shipping product, the system needs to ask the user for the country of destination, the weight of the items to be sent, their dimensions and the preferred delivery option (standard or express). Once the system has all information, it repeats them and and provides the user with the name and description of the best matching shipping product and shipping box (and a reasoning for this decision), and the approx. delivery time. Finally, the system provides the user with the shipping procedure, e.g., pack the shipping box, stamp it, and drop it off at the counter. The shipping boxes are available in a shelf and the person can pick up the suggested box after the conversation herself. The information to be exchanged is further specified below:"

Attributes

request ticket:
  user:
    type of service: "The type of service for which the user requires the assistance of an employee."
  system:
    ticket number: "The number of the ticket created for human assistance."
parcel shipping:
  user:    
    maximum weight: "The maximum weight of the item to be shipped: up to 5kg, 20kg, or 30kg."    
    delivery option: "Express or standard delivery."
    maximum length: "The maximum length of the items to be sent: up to 100cm, 105cm, or 150cm."
    maximum turn: "Maximum turn, measured in a different direction than the length (cm) of the items to be sent: up to 70cm, 75cm, 95cm, 100cm, or 150cm."
    country of destination: "The destination country."
  system: 
    shipping box name: "The name of the shipping box based on the items to be sent, 'small-sized box' for goods up to 5kg, 'medium-sized box' for goods up to 20kg, or 'large-sized box' for goods up to 30kg."
    shipping product: "The name of the product that best matches the user's requirements: Poste Delivery Standard (standard delivery, max. 100cm, max. 100cm, up to 20kg, destination Italy (delivery time 1 - 4 days)), Poste Delivery International Standard (standard delivery, max. 105cm, max. 95cm, up to 20kg, destination Europe (delivery time 10 - 15 days) and outside Europe (delivery time 10 - 25 days)), Poste Delivery Standard Ingombrante (standard delivery, max. 150cm, max. 150cm, up to 20kg, destination Italy (delivery time 1 - 4 days) and Europe (delivery time 10 - 15 days) or outside Europe (delivery time 10 - 25 days), Poste Delivery Express (express delivery, max. 100cm, max. 50cm, up to 30kg, destination Italy (delivery time 1 - 4 days)), Poste Delivery Express (voluminous) (express delivery, max. 150cm, max. 70cm, up to 30kg, Italy (delivery time 1 - 4 days)), Poste Delivery Europe (standard deivery, max. 150cm, max. 75cm, up to 30kg, destination Europe (delivery time 2 - 3 days)), Poste Delivery Globe (standard delivery, max. 150cm, max. 75cm, up to 30kg, outside Europe (delivery time 2 - 5 days)), Poste Delivery International Express (express delivery, max. 150cm, max. 75cm, up to 30kg, destination Europe (delivery time 2 days) and outside Europe (delivery time 2 - 4 days))."
    shipping procedure: "Description of the shipping procedure (e.g., pack all items in the box and drop it off at the counter)."
    delivery time: "Depending on the shipping product."
parcel choice:
  user:
    destination: "The city and country of destination (national or international)."
    weight: "The weight of the item to be shipped, lightweight (up to 5kg), average (up to 20kg), heavy (up to 30kg)."
    package required: "Whether or not a new shipping box is required."
    delivery option: "Express or standard delivery."
    country of destination: "The destination country."
  system: 
    shipping box name: "The name of the best suitable shipping box (small-sized, medium-sized, large-sized), based on the weight of the item to be sent."
    shipping box description: "Brief description on why the suggested shipping box is a good choice."
    shipping procedure: "Description of the shipping procedure (e.g., pack all items in the box and drop it off at the counter)."
    shipping time: "Expected delivery time, i.e., one to three days for national, four to six days for european and three to four weeks for international deliveries."
request ticket:
  system:
    ticket_number: "The number of the ticket which was created so that the user can get human assitance."
recharge phone:
  user:
    phone number: "Table or mobile phone number with country code (e.g. +39...)."
    phone provider: "The phone provider the user has a contract with (e.g., Vodafone or POSTE Mobile)."
    import payment: "The recharge amount. Possible values are 10 euro, 20 euro, 30 euro."
  system: 
    outcome operation: "If all required information are provided, the system asks the user to insert the card for payment."
building access:
  user:
    guest name: "The name of the person who wants to access the building."
    host name: "The name of the person the guest wants to visit."
    host email: "The E-Mail address of the host."
    alternative host name: "An alternative host, e.g., in case the host is not available."
    alternative host email: "The E-Mail address of the alternative host."
    meeting date and time: "Unique identifier of the room where the meeting will take place."    
  system: 
    verification call: "The system can set up a verification call to let the host visually inspect the guest and authorize access."
    confirmation to open turnstile: "This is a signal to the system that controls the turnstile to let the guest enter."
    additional safety information: "Any additional safety information, e.g., related to COVID-19."
question answering:
  user:
    question: "A question related to insurance or bill payment."
  system: 
    evidence: "The answer to the user's question."