Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re add Tonsil Knowledge #742

Closed
wants to merge 71 commits into from
Closed

Conversation

luke-inglis
Copy link
Contributor

If your PR is related to a contribution to the taxonomy, please, fill
out the following questionnaire. If not, replace this whole text and the
following questionnaire with whatever information is applicable to your PR.

Describe the contribution to the taxonomy

Knowledge of tonsils

Input given at the prompt

What is the location of the Tubal tonsils

Response from the original model

Tubal tonsils, also known as ampullary tonsils or infundibulopelvic tonsils, are small clusters of lymphoid tissue found at the junction between the uterine tube (also called the fallopian tube) and the ovary. They play a role in the immune system's defense against potential pathogens that may enter the reproductive tract through the vagina. The exact positioning of tubal tonsils can vary slightly among individuals, but they are generally located near the fimbriated ends of the uterine tubes, which are responsible for capturing and transporting ova to the uterus during each menstrual cycle.

Response from the fine-tuned model

I did not try the CLI

Contribution checklist

@luke-inglis luke-inglis requested a review from a team as a code owner April 22, 2024 17:57
@github-actions github-actions bot added triage-needed (Auto labeled) skill is ready to be triaged knowledge (Auto labeled) labels Apr 22, 2024
Copy link

Beep, boop 🤖, Hi, I'm @instructlab-bot and I'm going to help you with your pull request. Thanks for you contribution! 🎉

I support the following commands:

  • @instructlab-bot precheck -- Check existing model behavior using the questions in this proposed change.
  • @instructlab-bot generate -- Generate a sample of synthetic data using the synthetic data generation backend infrastructure.
  • @instructlab-bot generate-local -- Generate a sample of synthetic data using a local model.
  • @instructlab-bot help -- Print this help message again.

Note

Results or Errors of these commands will be posted as a pull request check in the Checks section below

Note

Currently only maintainers belongs to [[taxonomy-triagers taxonomy-approvers taxonomy-maintainers labrador-org-maintainers instruct-lab-bot-maintainers]] teams are allowed to run these commands.

@juliadenham juliadenham added community-build-ready Triage Team has signed off for synthetic data generation and removed triage-needed (Auto labeled) skill is ready to be triaged labels Apr 22, 2024
luke-inglis and others added 5 commits April 23, 2024 18:02
Signed-off-by: Luke Inglis <Luke.Inglis@ibm.com>
Signed-off-by: BJ Hargrave <hargrave@us.ibm.com>
Signed-off-by: Luke Inglis <Luke.Inglis@ibm.com>
Signed-off-by: BJ Hargrave <hargrave@us.ibm.com>
Signed-off-by: Luke Inglis <Luke.Inglis@ibm.com>
Signed-off-by: BJ Hargrave <hargrave@us.ibm.com>
Signed-off-by: Aakanksha Duggal <aduggal@redhat.com>
Signed-off-by: BJ Hargrave <hargrave@us.ibm.com>
Signed-off-by: Aakanksha Duggal <aduggal@redhat.com>
Signed-off-by: BJ Hargrave <hargrave@us.ibm.com>
@github-actions github-actions bot added the triage-needed (Auto labeled) skill is ready to be triaged label Apr 23, 2024
Copy link

Beep, boop 🤖, Hi, I'm @instructlab-bot and I'm going to help you with your pull request. Thanks for you contribution! 🎉

I support the following commands:

  • @instructlab-bot precheck -- Check existing model behavior using the questions in this proposed change.
  • @instructlab-bot generate -- Generate a sample of synthetic data using the synthetic data generation backend infrastructure.
  • @instructlab-bot generate-local -- Generate a sample of synthetic data using a local model.
  • @instructlab-bot help -- Print this help message again.

Note

Results or Errors of these commands will be posted as a pull request check in the Checks section below

Note

Currently only maintainers belongs to [[taxonomy-triagers taxonomy-approvers taxonomy-maintainers labrador-org-maintainers instruct-lab-bot-maintainers]] teams are allowed to run these commands.

aakankshaduggal added a commit that referenced this pull request Apr 25, 2024
aakankshaduggal added a commit that referenced this pull request Apr 25, 2024
aakankshaduggal added a commit that referenced this pull request Apr 25, 2024
aakankshaduggal added a commit that referenced this pull request Apr 25, 2024
aakankshaduggal added a commit that referenced this pull request Apr 25, 2024
@mingxzhao mingxzhao removed the triage-needed (Auto labeled) skill is ready to be triaged label May 7, 2024
@alinaryan
Copy link
Member

alinaryan commented Jun 5, 2024

Thank you for your submission. Here are your results:
Your PR improved the granite-7b-lab model's performance by 0.03703703703703698 points.
The model's new score is: 0.7407407407407407
The old score was: 0.7037037037037037
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 74.07407407407408%

@jjasghar
Copy link
Member

jjasghar commented Jun 5, 2024

Before we merge this we need the attribution.txt If you give me the location you got these files from I can add it unless you can quickly.

@jjasghar jjasghar added the triage-requested-changes skill has been reviewed; changes requested from contributor label Jun 5, 2024
@alinaryan
Copy link
Member

alinaryan commented Jun 6, 2024

Thank you for your submission. Here are your results:
Your PR decreased the merlinite-7b-lab model's performance by 0.03703703703703709 points.
The model's new score is: 0.8148148148148148
The old score was: 0.8518518518518519
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 81.48148148148148%

kelbrown20 and others added 5 commits June 7, 2024 09:50
**Description:** Only accepting files from wiki

Signed-off-by: Kelly Brown <kelbrown@redhat.com>
Fixes instructlab#752

Signed-off-by: BJ Hargrave <hargrave@us.ibm.com>
…instructlab#757)

After validating the qna.yaml, we also confirm the presence of a
non-empty attribution.txt file in the same folder.

Signed-off-by: BJ Hargrave <hargrave@us.ibm.com>
Adding actuate labels to triaging documentation

Signed-off-by: Kelly Brown <kelbrown@redhat.com>
Add a checkbox to make sure taxonomy contributions follow (don't fall
into) the avoid-topics list

FYI @jjasghar @lhawthorn

---


**Contribution checklist**

<!-- Insert an x between the empty brackets: [ ] >> [x] -->

- [ ] The contribution was tested with `ilab generate`
- [ ] No errors or warnings were produced by `ilab generate`
- [ ] All [commits are signed
off](https://github.com/instructlab/taxonomy/blob/main/CONTRIBUTING.md#legal)
(DCO)
- [ ] The `qna.yaml` file contains at least 5 `seed_examples`
- [ ] The `qna.yaml` file was [linted](https://yamllint.com) and
[prettified](https://onlineyamltools.com/prettify-yaml)
([yaml-validator](https://jsonformatter.org/yaml-validator) can do both)
- [ ] An `attribution.txt` file in the same folder as the `qna.yaml`
file
- [ ] Content does not include PII or otherwise sensitive or
confidential information
- [ ] Content does not include anything documented in the project's
[Avoid these
Topics](https://github.com/instruct-lab/community/blob/main/docs/README.md#avoid-these-topics)
guidelines

Signed-off-by: Christian Kadner <ckadner@us.ibm.com>
bjhargrave and others added 19 commits June 7, 2024 09:50
…tlab#1115)

If there is a display_title from the triggering pull request, we use it.
Otherwise we use the insight workflow name. This will help in mapping
insight workflow runs to the triggering pull request.

Signed-off-by: BJ Hargrave <hargrave@us.ibm.com>
added hyperlink to taxonomy repository for forking.

Signed-off-by: James Labocki <jameslabocki@gmail.com>
…nstructlab#769)

We introduce a relaxed schema as v1 which will accept all existing
taxonomy files in the main branch of the taxonomy repo. The current v1
schema is renamed to v2 and will be used for future contributions to the
taxonomy repo.

The check_yaml script is updated to allow a schema version to be
specified. When the schema-version option is not specified, the script
will use the latest schema version from the schema base. If the
schema-version is specified as a non-positive integer, then the script
will use the version key from the YAML document for the schema version
to use.

The script is also changed to only check for attribution.txt when the
schema version is higher than 1.

See instructlab/instructlab#989

Depends on instructlab/schema#11

Signed-off-by: BJ Hargrave <hargrave@us.ibm.com>
…) (instructlab#1119)

Renaming thermo Dir related to instructlab#955 
/cc @jjasghar 
Related to triage call.

Signed-off-by: James Labocki <jameslabocki@gmail.com>
Signed-off-by: greg pereira <grpereir@redhat.com>
Co-authored-by: James Labocki <jameslabocki@gmail.com>
Provide a correct working link.

**Contribution checklist**

<!-- Insert an x between the empty brackets: [ ] >> [x] -->

- [ ] The contribution was tested with `ilab generate`
- [ ] No errors or warnings were produced by `ilab generate`
- [x] All [commits are signed
off](https://github.com/instructlab/taxonomy/blob/main/CONTRIBUTING.md#legal)
(DCO)
- [ ] The `qna.yaml` file contains at least 5 `seed_examples`
- [ ] The `qna.yaml` file was [linted](https://yamllint.com) and
[prettified](https://onlineyamltools.com/prettify-yaml)
([yaml-validator](https://jsonformatter.org/yaml-validator) can do both)
- [ ] An `attribution.txt` file in the same folder as the `qna.yaml`
file
- [x] Content does not include PII or otherwise sensitive or
confidential information
- [x] Content does not include anything documented in the project's
[Avoid these
Topics](https://github.com/instructlab/taxonomy/blob/main/docs/SKILLS_GUIDE.md#avoid-these-topics)
guidelines

Signed-off-by: Sahdev Zala <spzala@us.ibm.com>
…structlab#1117)

Bumps
[step-security/harden-runner](https://github.com/step-security/harden-runner)
from 2.7.1 to 2.8.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…tructlab#1125)

Bumps
[tj-actions/changed-files](https://github.com/tj-actions/changed-files)
from 44.5.0 to 44.5.1.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
It is `YAML example` for knowledge as changed in the PR (vs `skills
example`).

Signed-off-by: Sahdev Zala <spzala@us.ibm.com>
Updated per @lhawthorn 's suggestion.

---------

Signed-off-by: JJ Asghar <awesome@ibm.com>
Added a new workflow to automate the process of updating a Pull Request
(PR) record when a PR is closed. The workflow sends an HTTP request to
the Code of Conduct (CoC) Handler, ensuring that the PR status is
accurately reflected in our records.

---------

Signed-off-by: Nitin Ramchandani <nitin.ramchandani@ibm.com>
…uide (instructlab#1138)

**Description:** Adds more descriptions on markdowns for knowledge
contributions

Signed-off-by: Kelly Brown <kelbrown@redhat.com>
…tructlab#1143)

Bumps
[tj-actions/changed-files](https://github.com/tj-actions/changed-files)
from 44.5.1 to 44.5.2.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…structlab#1139)

Bumps
[step-security/harden-runner](https://github.com/step-security/harden-runner)
from 2.7.1 to 2.8.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
We also update the workflow to enable dependabot to manage the version.

Signed-off-by: BJ Hargrave <hargrave@us.ibm.com>
Fixes instructlab#1157

Signed-off-by: BJ Hargrave <hargrave@us.ibm.com>
)

Reopening : **instructlab#428

**Describe the contribution to the taxonomy**
- This PR adds skill to solve logical and inference riddles 

**Input given at the prompt & Response that was received**

Attempted two riddles and also tried to question the model to fix the
output

Example 1: 
```
>>> can you solve this riddle ? "Two turkeys in front of the turkey, two turkeys behind the turkey, tell me how many total turkeys?"
╭──────────────────────────────────────────────────────── merlinite-7b-Q4_K_M ────────────────────────────────────────────────────────╮
│ Certainly! This is an interesting riddle. The answer to "how many total turkeys" would be 10. Let me explain:                       │
│                                                                                                                                     │
│ The riddle states that there are two turkeys in front of the turkey and two turkeys behind the turkey. This implies that we have 1  │
│ turkey (the one in the middle) with 2 turkeys ahead and 2 more behind it. So, if we add the middle turkey to the ones in front and  │
│ behind, we get a total of 10 turkeys.                                                                                               │
│                                                                                                                                     │
│ Here's a step-by-step breakdown:                                                                                                    │
│ - There is 1 turkey in the middle (the one facing away from us in the initial description).                                         │
│ - There are 2 turkeys in front of the middle turkey (the ones facing us in the initial description).                                │
│ - There are 2 turkeys behind the middle turkey (the ones facing away from us in the initial description).                           │
│ - Therefore, when we add the middle turkey to the ones in front and behind it, we get 1 (middle turkey) + 2 (front) + 2 (back) = 10 │
│ turkeys in total.                                                                                                                   │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 9.359 seconds ─╯
>>> I think you got the basic math wrong, 1 +2 +2 equals to 5 and not 10.                                                  [S][default]
╭──────────────────────────────────────────────────────── merlinite-7b-Q4_K_M ────────────────────────────────────────────────────────╮
│ Ah, I see where the confusion might have arisen. Thank you for pointing it out! You are correct that 1 (middle turkey) + 2 (front)  │
│ + 2 (back) should equal 5, not 10. The initial response included an error in the explanation. I apologize for any confusion caused. │
│ The correct answer to the riddle should be 5 turkeys in total, given the conditions provided.                                       │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 3.479 seconds ─╯
>>> But the answer is still not correct, it's not necessary that this riddle assumes one turkey is in the middle.          [S][default]
╭──────────────────────────────────────────────────────── merlinite-7b-Q4_K_M ────────────────────────────────────────────────────────╮
│ You're right; the initial riddle description did not explicitly specify the positioning of the turkeys. Let's reconsider the riddle │
│ without assuming a middle turkey. Instead, let's assume there are three groups of turkeys: one group with 2 turkeys in front,       │
│ another group with 2 turkeys behind, and a single turkey that is neither in front nor behind. In this case:                         │
│ - There are 2 turkeys in front of some unspecified turkey (let's call it A).                                                        │
│ - There are 2 turkeys behind some unspecified turkey (let's call it B).                                                             │
│ - There is 1 turkey (turkey C) that is not in front or behind any of the other turkeys.                                             │
│ - Therefore, when we add all the turkeys together, we get 2 (front of A) + 2 (behind B) + 1 (C) = 5 turkeys in total.               │
│                                                                                                                                     │
│ I apologize for any confusion caused earlier, and I appreciate your persistence in ensuring the correct answer is provided.         │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 9.162 seconds ─╯
```

It got the basic math wrong in the first response, although after
hinting the model about wrong math, it does corrected it, but It was not
able to solve the riddle.

Example 2:

```
>>> Tom's mother has 3 sons. The names of the two sons are dick and hardy, what's the name of the third son?               [S][default]
╭──────────────────────────────────────────────────────── merlinite-7b-Q4_K_M ────────────────────────────────────────────────────────╮
│ Interesting question! However, based on the information provided, it is impossible to determine the name of Tom's third son, Dick.  │
│ The names you provided, Dick and Hardy, do not match the typical naming patterns for sons, which often involve some form of         │
│ repetition or variation of the father's name. Since there is no concrete information about the third son's name, I cannot provide a │
│ definitive answer. If there is additional information about Tom's family or naming traditions, I would be happy to revisit this     │
│ question!                                                                                                                           │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 4.258 seconds ─╯
>>> Puzzle is not about finding sons of Tom, but sons of Tom's Mom. Can you take this information in consideration and try to solve the
 riddle?
╭──────────────────────────────────────────────────────── merlinite-7b-Q4_K_M ────────────────────────────────────────────────────────╮
│ Of course! Based on your new information, I will rephrase the question to reflect Tom's mother as the subject, and focus on finding │
│ her three sons: Dick, Hardy, and the third son, whose name is still unknown to us. Thank you for providing this clarification!      │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 2.306 seconds ─╯
```
Tried to assist the model to fix it's assumptions, but didn't solve the
riddle.

**Response that is now received instead**

After training the model with the seed examples and answer, received the
following responses from the models

Example 1:
```
>>> can you solve the following riddle? Two turkeys in front                                                               [S][default]
      of the turkey, two turkeys behind the turkey, tell me how many
      total turkeys?
╭───────────────────────────────────── ./ibm-merlinite-7b-mlx-q-fused-pt/ggml-model-Q4_K_M.gguf ──────────────────────────────────────╮
│ The answer is 5, because there are two turkeys in front, two turkeys behind, and one original turkey, making a total of five        │
│ turkeys.                                                                                                                            │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 1.254 seconds ─╯
>>> are you sure about it? you don't need to assume that you have turkey in the center, it can be at any position in the arrangement.
╭───────────────────────────────────── ./ibm-merlinite-7b-mlx-q-fused-pt/ggml-model-Q4_K_M.gguf ──────────────────────────────────────╮
│ Yes, I am sure. The question asks for the total number of turkeys, which is five, regardless of their position or arrangement.      │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 1.034 seconds ─╯
>>> don't you think you can solve this riddle with 3 turkeys only?                                                         [S][default]
╭───────────────────────────────────── ./ibm-merlinite-7b-mlx-q-fused-pt/ggml-model-Q4_K_M.gguf ──────────────────────────────────────╮
│ The question states that there are two turkeys in front and two turkeys behind, which adds up to four turkeys. However, there is    │
│ one more turkey in the middle, making a total of five turkeys.                                                                      │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 1.677 seconds ─╯
```
In the trained model, it got the math right but it was adamant to not
learn from the given seed examples, and still giving wrong example. _I
would appreciate any pointers here about how to make it better learn
from the seed examples._

Example 2:
```
>>> can you solve the following riddle? Tom's mother has 3 sons.                                                           [S][default]
      The names of the two sons are dick and hardy, what's the name of
      the third son?
╭───────────────────────────────────── ./ibm-merlinite-7b-mlx-q-fused-pt/ggml-model-Q4_K_M.gguf ──────────────────────────────────────╮
│ The answer is Tom, because the question asks for the name of the third son, and the names of the two other sons are Dick and Harry, │
│ making Tom the third son.                                                                                                           │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 1.360 seconds ─╯

>>> can you solve the following riddle? Ajay’s mother has 3 sons.                                                          [S][default]
      The names of the two sons are Vijay and Sanjay, what's the name of
      the third son?
╭───────────────────────────────────── ./ibm-merlinite-7b-mlx-q-fused-pt/ggml-model-Q4_K_M.gguf ──────────────────────────────────────╮
│ The answer is Ajay, because the question asks for the name of the third son, and the names of the two other sons are Vijay and      │
│ Sanjay, making Ajay the third son.
```

**Contribution checklist**

- [x ] Contribution was tested with `lab generate`
- [ x] No errors or warnings were produced by `lab generate`
- [ x] All [commits are signed
off](https://github.com/instruct-lab/taxonomy/blob/main/CONTRIBUTING.md#legal)
(DCO)
- [x ] The `qna.yaml` file was [linted](https://yamllint.com) and
[prettified](https://onlineyamltools.com/prettify-yaml)
([yaml-validator](https://jsonformatter.org/yaml-validator) can do both)

---------

Signed-off-by: Anil Kumar Vishnoi <avishnoi@redhat.com>
Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
Signed-off-by: BJ Hargrave <hargrave@us.ibm.com>
…lab#733)

Re-submitting PR instructlab#303 

**Describe the contribution to the taxonomy**

<!-- A concise description of what the contribution brings, replace
"..." in the bullet list -->

Added a new skill to replace words in text with their corresponding
emoji

**Input given at the prompt**

<!-- What you entered, replace "..." -->

```
Replace words with emoji in this text: I had a pizza for dinner last night
```

**Response from the original model**

<!-- What you received from the original model in response to your
input,
replace "..." -->

```
I 🍕 had 🍴 a 🍕 pizza 🍕 for 🍴 dinner 🍴 last night 🌙
```

**Response from the fine-tuned model**

<!-- Generate a synthetic dataset based on your newly added seed data;
train the model
with the synthetic data and now re-test the model's response with the
same prompt.
Replace "..." with what you receive with the finetuned model. -->

```
I had a 🍕 for dinner last night 🌃
```
---
**Prompt 2 - Testing the fine-tuned model with a new example**

<!-- What you entered, replace "..." -->

```
Replace words with emoji in this text: I'm going to the movies tonight, I can't wait to see the new superhero film!
```

**Response that was received**

<!-- What you received in response to your input, replace "..." -->

```
I'm 🎬 going to the 🍿movies tonight, I can't 😱 wait to see the new superhero 🎥film!
```

**Response that is now received instead**

<!-- What you receive with your contribution, replace "..." -->

```
I'm going to the 🎥 tonight, I can't wait to see the new 🦸‍♀️🦸‍♂️ film!
```

**Contribution checklist**

<!-- Insert an x between the empty brackets: [ ] >> [x] -->

- [x] The contribution was tested with `ilab generate`
- [x] No errors or warnings were produced by `ilab generate`
- [x] All [commits are signed
off](https://github.com/instructlab/taxonomy/blob/main/CONTRIBUTING.md#legal)
(DCO)
- [x] The `qna.yaml` file contains at least 5 `seed_examples`
- [x] The `qna.yaml` file was [linted](https://yamllint.com) and
[prettified](https://onlineyamltools.com/prettify-yaml)
([yaml-validator](https://jsonformatter.org/yaml-validator) can do both)
- [x] An `attribution.txt` file in the same folder as the `qna.yaml`
file.

Signed-off-by: Mohit Gaur <56885276+Mohit-Gaur@users.noreply.github.com>
Signed-off-by: BJ Hargrave <hargrave@us.ibm.com>
This is a re-submission of instructlab#187.

If your PR is related to a contribution to the taxonomy, please, fill
out the following questionnaire. If not, replace this whole text and the
following questionnaire with whatever information is applicable to your
PR.


**Describe the contribution to the taxonomy**

<!-- A concise description of what the contribution brings, replace
"..." in the bullet list -->

- Currently the merlinite model generates a markdown table when asked to
generate an asciidoc table. This skill attempts to teach it how to
generate Asciidoc tables.
- I'm not sure about the path I've put the qna.yaml in here, please let
me know if it should be somewhere else.

I'll give several examples below of various questions asked before and
after, and will also include an image showing the before and after
rendered in an HTML page that was rendered from trying to interpret the
responses as Asciidoc.

**Try it out yourself!**
I've put the trained model from `lab train` onto Google Drive, so that
you can download it and ask your own questions, and not just rely on the
examples that I've provided below. You can find it here (note that it's
13.5GB):

https://drive.google.com/file/d/12JJhsZPWQxXZb-WZZUof_Cit2t09Y84n/view?usp=sharing


**Input given at the prompt**

<!-- What you entered, replace "..." -->
_See examples below the "Contribution checklist" section. I've put them
at the end because some of the Markdown features I've used are a bit
odd, and can cause effects to sections following them._


**Response from the original model**


<!-- What you received from the original model in response to your
input,
replace "..." -->
_See examples below the "Contribution checklist" section. I've put them
at the end because some of the Markdown features I've used are a bit
odd, and can cause effects to sections following them._


**Response from the fine-tuned model**


<!-- Generate a synthetic dataset based on your newly added seed data;
train the model
with the synthetic data and now re-test the model's response with the
same prompt.
Replace "..." with what you receive with the finetuned model. -->
_See examples below the "Contribution checklist" section. I've put them
at the end because some of the Markdown features I've used are a bit
odd, and can cause effects to sections following them._

**Contribution checklist**

<!-- Insert an x between the empty brackets: [ ] >> [x] -->

- [x] The contribution was tested with `ilab generate`
- [x] No errors or warnings were produced by `ilab generate`
- [x] All [commits are signed
off](https://github.com/instructlab/taxonomy/blob/main/CONTRIBUTING.md#legal)
(DCO)
- [x] The `qna.yaml` file contains at least 5 `seed_examples`
- [x] The `qna.yaml` file was [linted](https://yamllint.com) and
[prettified](https://onlineyamltools.com/prettify-yaml)
([yaml-validator](https://jsonformatter.org/yaml-validator) can do both)
- [x] An `attribution.txt` file in the same folder as the `qna.yaml`
file.


----

### Example 1
> Create an AsciiDoc table showing the IMDB top 5 movies, including the
year they were released, and their IMDB rating

<details>
  <summary>Response that was received</summary>
  <pre><code>
.. csv-table:: Top 5 IMDb Movies of All Time
   :header: Title, Year, IMDb Rating

   "The Godfather", 1972, 9.2
   "The Shawshank Redemption", 1994, 9.3
   "The Godfather: Part II", 1974, 9.0
   "Pulp Fiction", 1994, 8.9
   "The Dark Knight", 2008, 9.0
</code></pre>
</details>

<details>
<summary>Response that is now received instead</summary>
<pre><code>
Here's the AsciiDoc code for the table:

.IMDB Top 5 Movies
[%header]
|===
| Movie         | Year   | Rating
| The Godfather | 1972   | 9.2
| The Shawshank Redemption | 1994   | 9.3
| The Dark Knight | 2008   | 9.0
| Pulp Fiction | 1994   | 8.9
| Forrest Gump | 1994   | 8.8
|===

The rendered HTML output will look like this:

IMDB Top 5 Movies
-----------------

| Movie         | Year   | Rating
| The Godfather | 1972   | 9.2
| The Shawshank Redemption | 1994   | 9.3
| The Dark Knight | 2008   | 9.0
| Pulp Fiction | 1994   | 8.9
| Forrest Gump | 1994   | 8.8
</code></pre>
</details>

<details>
<summary>Example screenshot of before and after as rendered HTML from an
Asciidoc processor on the responses</summary>
<img
src="https://github.com/instruct-lab/taxonomy/assets/442386/77d35479-3b82-41a0-9e0c-c7418f127bb1">
</details>

### Example 2
> Create an Asciidoc-formatted table with 4 rows and two columns, where
the first column is a random letter, and the second column is a random
number between 1 and 4.

<details>
  <summary>Response that was received</summary>
  <pre><code>

Certainly! I can help you create a randomized AsciiDoc table with the
specified structure. However, please note that I am an AI language model
and do not have the ability to generate truly random values. I will
provide you with a set of random values that you can use for the table.
Here's an example of how the table might look:

```
= Table: Random Letters and Numbers

| Random Letter | Random Number |
| --- | --- |
| A | 1 |
| B | 2 |
| C | 3 |
| D | 4 |
```

Feel free to replace the provided values with your own random letters
and numbers. If you need help generating random values, you can use an
online random number generator or a programming language to create the
values for the table.

</code></pre>
</details>

<details>
<summary>Response that is now received instead</summary>
<pre><code>
Here's the AsciiDoc code for the table:

.Table Example
[%header]
|===
| Column 1   | Column 2
| A          | 1
| B          | 2
| C          | 3
| D          | 4
|===

The rendered HTML output will look like this:

Table Example
-------------

| Column 1   | Column 2
| A          | 1
| B          | 2
| C          | 3
| D          | 4
</code></pre>
</details>

<details>
<summary>Example screenshot of before and after as rendered HTML from an
Asciidoc processor on the responses</summary>
<img
src="https://github.com/instruct-lab/taxonomy/assets/442386/f4352bb1-fa78-4169-9756-2ccff0d8db01">
</details>

### Example 3
> Convert the following Markdown table to AsciiDoc:
> 
>     | First name | Last name    | Age | Score |
>     | ---------- | ---------    | --- | ----- |
>     | Alice      | O'Wonderland | 20  | 53    |
>     | Bob        | Tables       | 10  | null  |
>     | Carol      | Basking      | 60  | 25    |
>     | Dave       | Letterbox    | 55  | 40    |


<details>
  <summary>Response that was received</summary>
  <pre><code>
Here's the AsciiDoc version of the table:

.. csv-table:: Table: Users' Information
   :header-rows: 1

   "First name", "Last name", "Age", "Score"
   "Alice", "O'Wonderland", "20", "53"
   "Bob", "Tables", "10", "null"
   "Carol", "Basking", "60", "25"
   "Dave", "Letterbox", "55", "40"

The table is created using the ``csv-table`` directive, which is
suitable for simple tables like this one.
</code></pre>
</details>

<details>
<summary>Response that is now received instead</summary>
<pre><code>
Here is the equivalent AsciiDoc equivalent:

.Table: Students' Information
[%header]
|===
| First Name  | Last Name    | Age | Score
| ----------- | ------------ | --- | -----
| Alice       | O'Wonderland | 20  | 53
| Bob         | Tables       | 10  | null
| Carol       | Basking      | 60  | 25
| Dave        | Letterbox    | 55  | 40
|===

Note that the header row is formatted in brackets, and the rows that
follow it use the "|" delimiter to indicate the
column contents. The table is surrounded by "|===" lines to define the
table boundaries.
</code></pre>
</details>

<details>
<summary>Example screenshot of before and after as rendered HTML from an
Asciidoc processor on the responses</summary>
<img
src="https://github.com/instruct-lab/taxonomy/assets/442386/28d56989-76a7-42f6-9946-72b9e96fbdf1">
</details>

### Example 4
> Given the following csv file contents, how could it be represented as
an asciidoc table?
1,2,3,4
5,6,7,8
9,10,11,12


<details>
  <summary>Response that was received</summary>
  <pre><code>
To represent the given CSV file contents as an ASCIIDOC table, you can
use the `table()` directive along with the `row()` macro. Here's a
sample ASCIIDOC code that creates a table from the given CSV data:

=table
----
:name: table-csv
:source: csv-file.csv
:header: 1,2,3,4

=table
----
::
    :source: table-csv
::row()
1,2,3,4
::row()
5,6,7,8
::row()
9,10,11,12

In this example, the `table()` directive is used to define a table with
a given width for each column. The `:source` attribute is used to
specify the name of the CSV file that contains the data for the table.
The `:header` attribute is used to specify the header row of the CSV
file. The `row()` macro is then used to add rows to the table.

This will result in the following table:

| 1 | 2 | 3 | 4 |
| - | - | - | - |
| 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 |
</code></pre>
</details>

<details>
<summary>Response that is now received instead</summary>
<pre><code>
Here's the asciidoc code for the table:

.Table: CSV Data
[%header]
|===
| Column 1 | Column 2 | Column 3 | Column 4
|----------|----------|----------|----------
| 1        | 2        | 3        | 4
| 5        | 6        | 7        | 8
| 9        | 10       | 11       | 12
|===

The asciidoc table is now represented using the .Table: CSV Data header,
and the rows and columns are defined using the |
row/column label | data coordinates format. The data coordinates
indicate the position of the data in the table.
</code></pre>
</details>

<details>
<summary>Example screenshot of before and after as rendered HTML from an
Asciidoc processor on the responses</summary>
<img
src="https://github.com/instruct-lab/taxonomy/assets/442386/b127929f-5705-4049-84d9-ee9ff7e01bf4">
</details>

### Example 5
> What is the syntax for creating an Asciidoc table?

<details>
  <summary>Response that was received</summary>
  <pre><code>
In Asciidoc, you can create a table using the `table` directive,
followed by rows and columns defined using pipelines (`|`) to separate
cells. Here's a simple example of an Ascidoc table:

```
=table | row1col1, row1col2, row1col3, row1col4, row1col5 | row2col1, row2col2, row2col3, row2col4, row2col5 | ...]
```

This creates a table with five headers and multiple rows. Each row
contains five cells separated by pipelines. If you want to create a
simple two-column table, you can use this syntax:

```
=table | row1col1, row1col2 | row2col1, row2col2 | ...]
```

In this example, `header1` and `header2` are the headers of the two
columns, and `row1col1`, `row1col2`, `row2col1`, and `row2col2` are the
cells of the two rows. You can replace these placeholders with your
desired content.

Keep in mind that Asciidoc tables support various formatting options,
such as aligning cells, merging cells, and using different table styles.
For more information on these features, refer to the official
Asciidoctor documentation or use a search engine to find additional
resources
on Asciidoctor tables.
</code></pre>
</details>

<details>
<summary>Response that is now received instead</summary>
<pre><code>
Here's the syntax for creating an Asciidoc table:

.. Table: Example Table - Asciidoc Syntax
:name: ascii-table-syntax
:widths: 20, 80

|===
| Column1 | Column2 |
|---------|---------|
| Value1  | Content |
| Value2  | Of the |
|         | second |
|         | column |
|---------|---------|
|===

The table has the following structure:

- The first line starts with the "|===" delimiter, followed by the table
name, widths, and widths parameters (if needed).
- Each subsequent line starts with the "|" delimiter, followed by the
column labels or values.
- The table ends with the "|===" delimiter.

The widths parameter is used to specify the width of each column in
terms of the number of characters. If not provided,
the widths will be automatically calculated based on the longest label
or value for each column.

Here's the AsciiDoc code for the example table:

.Table: AsciiDoc Table Syntax
[%header]
:name: ascii-table-syntax
:widths: 20, 80
|===
| Column1 | Column2 |
|---------|---------|
| Value1  | Content |
| Value2  | Of the |
|         | second  |
|         | column  |
|---------|---------|
|===

The rendered HTML output will display the table with the given structure
and content.
</code></pre>
</details>

<details>
<summary>Example screenshot of before and after as rendered HTML from an
Asciidoc processor on the responses</summary>
<img
src="https://github.com/instruct-lab/taxonomy/assets/442386/ff21bbcf-54b9-4eed-895e-714ef2eb4492">
</details>

---------

Signed-off-by: Gerard Ryan <git@grdryn.xyz>
Signed-off-by: BJ Hargrave <hargrave@us.ibm.com>
These were created before the
- version: 2 was required
- attribution.txt was also required

Signed-off-by: JJ Asghar <awesome@ibm.com>
Co-authored-by: Mohit Gaur <56885276+Mohit-Gaur@users.noreply.github.com>
Co-authored-by: Anil Kumar Vishnoi <avishnoi@redhat.com>
Co-authored-by: Gerard Ryan <git@grdryn.xyz>
@github-actions github-actions bot added documentation Improvements or additions to documentation triage-needed (Auto labeled) skill is ready to be triaged skill (Auto labeled) ci labels Jun 7, 2024
Copy link

Beep, boop 🤖, Hi, I'm @instructlab-bot and I'm going to help you with your pull request. Thanks for you contribution! 🎉

I support the following commands:

  • @instructlab-bot precheck -- Check existing model behavior using the questions in this proposed change.
  • @instructlab-bot generate -- Generate a sample of synthetic data using the synthetic data generation backend infrastructure.
  • @instructlab-bot generate-local -- Generate a sample of synthetic data using a local model.
  • @instructlab-bot help -- Print this help message again.

Note

Results or Errors of these commands will be posted as a pull request check in the Checks section below

Note

Currently only maintainers belongs to [[taxonomy-triagers taxonomy-approvers taxonomy-maintainers labrador-org-maintainers instruct-lab-bot-maintainers]] teams are allowed to run these commands.

jjasghar added a commit that referenced this pull request Jun 7, 2024
This superseeds #742

Signed-off-by: JJ Asghar <awesome@ibm.com>
Co-authored-by: Aakanksha Duggal <aduggal@redhat.com>
Co-authored-by: BJ Hargrave <hargrave@us.ibm.com>
Co-authored-by: Luke Inglis <Luke.Inglis@ibm.com>
@jjasghar jjasghar mentioned this pull request Jun 7, 2024
@jjasghar jjasghar closed this Jun 7, 2024
@jjasghar
Copy link
Member

jjasghar commented Jun 7, 2024

Closed due to #1173

jjasghar added a commit that referenced this pull request Jun 7, 2024
This superseeds #742

Signed-off-by: JJ Asghar <awesome@ibm.com>
Co-authored-by: Aakanksha Duggal <aduggal@redhat.com>
Co-authored-by: BJ Hargrave <hargrave@us.ibm.com>
Co-authored-by: Luke Inglis <Luke.Inglis@ibm.com>
jjasghar added a commit that referenced this pull request Jun 7, 2024
This superseeds #742

Signed-off-by: JJ Asghar <awesome@ibm.com>
Co-authored-by: Aakanksha Duggal <aduggal@redhat.com>
Co-authored-by: BJ Hargrave <hargrave@us.ibm.com>
Co-authored-by: Luke Inglis <Luke.Inglis@ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci community-build-ready Triage Team has signed off for synthetic data generation documentation Improvements or additions to documentation knowledge (Auto labeled) skill (Auto labeled) triage-needed (Auto labeled) skill is ready to be triaged triage-requested-changes skill has been reviewed; changes requested from contributor
Projects
None yet
Development

Successfully merging this pull request may close these issues.