Need some guidance on fine tuning

Hello

I wanted to train chatGPT in the domain of networking to better understand networking commands. I am trying to create the datasets and would appreciate some suggestions/guidance on this.

Here is an example of a networking commands that I am working with ( it’s very similar to making an API call.

Here is an example syntax structure:

query -c <class name> -x query-target-filter=eq(<class name>.<property>="abc")

The key is to have the LLM to understand how to construct a filter in the above example. So for example an object could look like below.

classname = Person
properties are:

  • name
  • height
  • weight

an example would look like this

Q: What's the command to get all the persons name with Jim ?
A: query -c Person -x query-target-filter=eq(Person.name="Jim")

This is an extremely simple example, and chatGPT-4 usually have no problems with it given some good instructions.

However, there are hundreds of thousands of objects like these, and there are more complex syntax that adds things like children objects, or multi-class query…etc.

So my first thought is : is it possible to teach ChatGPT how the syntax works first, and then provide some good examples ? If so, how does the “teach ChatGPT with instructions” part work with fine tuning ?

If not, then I will resort to creating lots of training examples. For which I have one question, what would the instructions look like ? and do I have to provide the instruction over and over (even if they are the same) for each training data ? examples:

I: you are an assistant that generates networking query commands
Q: What's the command to get all persons name with Jim ?
A: query -c Person -x query-target-filter=eq(Person.name="Jim")

I: you are an assistant that generates networking query commands
Q: What's the command to get all persons age between 12 and 24 ?
A: query -c Person -x query-target-filter=bw(Person.age="12", Person.age="24")

I: you are an assistant that generates networking query commands
Q: What's the command to get all persons weights above 150 lb ?
A: query -c Person -x query-target-filter=gt(Person.weight="150")

another approach to craft the training set is as follow where I provide the relevant object information and syntax information as part of the instruction


I: you are an assistant that generates networking query commands, you are given the class of Person which has 3 properties: name, age and weight. The operators are eq ( equals to ), bw (between), gt (greater than), lt(less than)
Q: What's the command to get all persons name with Jim ?
A: query -c Person -x query-target-filter=eq(Person.name="Jim")

I: you are an assistant that generates networking query commands, you are given the class of Person which has 3 properties: name, age and weight. The operators are eq ( equals to ), bw (between), gt (greater than), lt(less than)
Q: What's the command to get all persons age between 12 and 24 ?
A: query -c Person -x query-target-filter=bw(Person.age="12", Person.age="24")

I: you are an assistant that generates networking query commands, you are given the class of Person which has 3 properties: name, age and weight. The operators are eq ( equals to ), bw (between), gt (greater than), lt(less than)
Q: What's the command to get all persons weights above 150 lb ?
A: query -c Person -x query-target-filter=gt(Person.weight="150")

any insights / guidance is highly appreciated !!

Shelter paints a vivid picture of a post-nuclear Seoul, weaving a compelling narrative around survival, family, and tough choices.**