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

Issue#74 Evaluate Question Quality #96

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

JolanThomassin
Copy link
Contributor

The quality of questions is poor due to numerous repeated files, incomplete documentation, and overall inadequacy. Thus, the objective is to address these issues to generate higher-quality texts for improved question creation and more precise testing.

@JolanThomassin JolanThomassin added this to the louis_v005 milestone Mar 28, 2024
@JolanThomassin JolanThomassin requested a review from a team as a code owner March 28, 2024 18:45
@JolanThomassin JolanThomassin self-assigned this Mar 28, 2024
@JolanThomassin JolanThomassin marked this pull request as draft March 28, 2024 18:46
@JolanThomassin
Copy link
Contributor Author

Below are the initial three questions generated, provided as an illustration, without any selection after altering the document selection method.

{
    "crawl_id": "c16e416e4c1-c16e46e4c1-c16e4ce4c1",
    "score_recency": 0.9780359286276487,
    "score_traffic": 0.1550200029818478,
    "score_current": 1.0,
    "url": "https://inspection.canada.ca/protection-des-vegetaux/especes-envahissantes/maladies/galle-verruqueuse-de-la-pomme-de-terre/fra/1327933703431/1327933793006",
    "question": "Qu'est-ce que la galle verruqueuse de la pomme de terre?",
    "answer": "La galle verruqueuse de la pomme de terre est causée par un champignon terricole appelé Synchytrium endobioticum. Ce champignon attaque les points végétatifs de la plante, tels que les yeux, les bourgeons et les extrémités des stolons. Il peut rester dormant dans le sol pendant plus de 40 ans et se développe lorsque les conditions sont favorables, notamment un printemps frais et humide et la proximité d'un plant de pomme de terre."
}
{
    "crawl_id": "c16e416e4c1-c16e46e4c1-c16e4ce4c1",
    "score_recency": 0.8943121920100262,
    "score_traffic": 0.09316533046562409,
    "score_current": 1.0,
    "url": "https://inspection.canada.ca/a-propos-de-l-acia/mon-acia/orientation-de-l-utilisateur/comment-retirer-une-demande-de-service/fra/1556028440342/1556028440588",
    "question": "Comment retirer une demande de service de licence en vertu du Règlement sur la salubrité des aliments au Canada (RSAC)?",
    "answer": "Après avoir présenté une demande de service de licence RSAC dans Mon ACIA, vous pouvez choisir de retirer votre demande avant que l'autorisation ne soit accordée. La première étape consiste à ouvrir une session dans votre compte Mon ACIA. Une fois connecté, assurez-vous que votre profil de la partie validé associé à la demande de service est sélectionné à partir du menu déroulant sous Administration de la partie, en cliquant sur la partie validée appropriée et en cliquant sur Soumettre. Ensuite, faites défiler vers le bas jusqu'à la section Demande de service de votre tableau de bord, où toutes les demandes de service déjà présentées s'affichent. Cette section devrait ressembler à : [Description du tableau de bord des demandes de service]. Faites défiler vos demandes de service précédentes ou utilisez le filtre pour trouver la demande que vous souhaitez retirer. Cliquez sur le lien du No d'identification de la demande. En cliquant sur le lien du No d'identification de la demande, faites défiler vers le bas jusqu'à Résumé de la demande pour obtenir des détails concernant votre demande de service, y compris des renseignements sur son état. Vous pouvez retirer cette demande à condition qu'elle soit dans l'un des états suivants : Ouvert – Soumis, En attente – Validation du profil en attente, En attente – En attente de paiement. Si vous souhaitez retirer votre demande et que son état n'est pas l'un de ceux mentionnés ci-dessus, veuillez communiquer avec l'ACIA au permission@inspection.gc.ca. Si votre demande présente un état ouvert ou en attente, vous pouvez cliquer sur le bouton Retirer la demande. Un nouvel écran apparaîtra pour vous demander de confirmer que vous souhaitez procéder au retrait. Si vous souhaitez continuer, veuillez sélectionner la raison pour laquelle vous choisissez de retirer cette demande. Menu déroulant raison du retrait (obligatoire). Retrait – Modification des exigences, Retrait – Exigences non respectées, Retrait – Modification des renseignements, Retrait – Restrictions commerciales, Retrait – Autre. Au bas de la page se trouve un bouton pour soumettre la demande de retrait. Sélectionnez l'option appropriée pour expliquer pourquoi vous choisissez de retirer votre demande et cliquez sur Soumettre. Si vous souhaitez continuer, veuillez sélectionner la raison pour laquelle vous choisissez de retirer cette demande et le statut de votre dossier sera l'option de retrait sélectionnée. Menu déroulant indiquant la raison du retrait (obligatoire). Withdrawn – Other (Retiré – Autre) est sélectionné. Juste en dessous se trouve un bouton pour soumettre la demande de retrait. Une fois de retour dans votre tableau de bord, vous pouvez vérifier que votre demande a été retirée en vous référant à la section Demande de services et en vérifiant que l'état associé à votre demande indique Annulée et que la raison d'état indique Retirée. Sous les demandes de service pour : NutriFood1 (partie validée) Les demandes de services sont affichées sous forme de tableau avec les colonnes suivantes : No d'identification de la demande (hyperlien), Nom de la demande, Type de demande de service, Created on (Créée le), Date de présentation, État, Raison d'état, Créateur/Déposant. La raison d'état de l'autorisation qui a été retirée indique Withdrawn – Other. Si vous avez d'autres questions concernant le retrait de votre demande, veuillez contacter permission@inspection.gc.ca."
}
{
    "crawl_id": "c16e416e4c1-c16e46e4c1-c16e4ce4c1",
    "score_recency": 0.6105881840017415,
    "score_traffic": 0.13417807037378826,
    "score_current": 1.0,
    "url": "https://inspection.canada.ca/exporting-food-plants-or-animals/food-exports/requirements/japan-fish-and-seafood/raw-oyster-products/eng/1304457030793/1304457190421",
    "question": "What is the list of certified shellfish dealers approved to export raw oyster products to Japan?",
    "answer": "The list of certified shellfish dealers approved to export raw oyster products to Japan includes the following establishments:\n\n1. Albion Farms and Fisheries Ltd. - Establishment registration number: 0992\n2. Albion Fisheries Ltd. - Establishment registration number: 0784\n3. Atlantic Aqua Farms Ltd. - Establishment registration number: 4213\n4. Baynes Sound Oyster Co. Ltd. - Establishment registration number: 0910\n5. Best Honour International Seafood Ltd. - Establishment registration number: 0956\n6. Bill & Stanley Oyster Company Ltd. - Establishment registration number: 6024\n7. Blundell Seafoods Ltd. - Establishment registration number: 1934\n8. Burleigh Bros. Seafoods Ltd. - Establishment registration number: 2001\n9. Canadian Pacific Seafood Limited - Establishment registration number: 0935\n10. Canadian Seafood Processing Inc. - Establishment registration number: 6334\n11. Cascumpec Bay Oyster Company Ltd. - Establishment registration number: 4235\n12. C.B. Island Fisheries Ltd. - Establishment registration number: 0922\n13. Clear Bay Fisheries Inc. - Establishment registration number: 0970\n14. Cooper's Cove Oyster Farm Ltd. - Establishment registration number: 0993\n15. DEon Oyster Company Ltd. - Establishment registration number: 3725\n16. Evening Cove Oysters Processing Ltd. - Establishment registration number: 0750\n17. Evergreen International Foodstuffs Ltd. - Establishment registration number: 0774\n18. Five Star Shellfish Inc. - Establishment registration number: 4219\n19. Great Little Harbour Seafood Ltd. - Establishment registration number: 6067\n20. Haida Wild - Establishment registration number: 0978\n21. Island Scallops Ltd. - Establishment registration number: 1907\n22. La Maison BeauSoleil Inc. - Establishment registration number: 4005\n23. Limberis Seafood Processing Ltd. - Establishment registration number: 0999\n24. Mac's Oysters Ltd. - Establishment registration number: 0938\n25. Moon Enterprises Inc. - Establishment registration number: 1976\n26. Ocean Nova Seafood Canada Ltd. - Establishment registration number: 0914\n27. Out Landish Shellfish Guild Inc. - Establishment registration number: 6101\n28. Oyster Kings (671743 N.B. Inc.) - Establishment registration number: 6009\n29. Pacific Northwest Shellfish Co. Ltd. - Establishment registration number: 0740\n30. Pacific Rim Shellfish (2003) Corp. - Establishment registration number: 1944\n31. Raspberry Point Oyster Co. Inc. - Establishment registration number: 2372\n32. Ronnie Trading Co. Ltd. - Establishment registration number: 0965\n33. Salish Sea Foods LP - Establishment registration number: 1972\n34. Sawmill Bay Shellfish Company Ltd. - Establishment registration number: 1954\n35. Sea World Fisheries Ltd. - Establishment registration number: 1967\n36. Stellar Bay Shellfish Ltd. - Establishment registration number: 0741\n37. Taylor Shellfish Canada ULC DBA Fanny Bay Oysters - Establishment registration number: 0773\n38. Timothy Oyster Co. Ltd. - Establishment registration number: 1939\n39. Tri-Star Seafood Supply Ltd. - Establishment registration number: 0724\n40. Union Bay Seafood Ltd. - Establishment registration number: 6001\n41. Walcan Seafood Ltd. - Establishment registration number: 1905"
}

@JolanThomassin
Copy link
Contributor Author

Can't find why the test are failing

@rngadam
Copy link
Contributor

rngadam commented Apr 2, 2024

  • branch should be 74-evaluate-question-quality
  • fixes #74 in the description of this PR

ailab/db/finesse/prompt/json_template_crawl.json Outdated Show resolved Hide resolved
ailab/db/finesse/test_queries/__init__.py Show resolved Hide resolved
tests/test_db_generate_qna_crawl.py Outdated Show resolved Hide resolved
@rngadam
Copy link
Contributor

rngadam commented Apr 2, 2024

Can't find why the test are failing

You can ignore it for now, @k-allagbe will be fixing the AI Lab search weighted search later. After rewrite, the results returned are not the same; we need to dig into how the weights are setup and why the top result is not what we'd expect.

Test is failing because weighted_search has been modified and doesn't return the same expected document that we'd prefer:

image

we'd need to investigate the search function and weights we're using to see how we could find the most reasonable result again.

as a comparison, Microsoft AI search returns this:

image

while LlamaIndex returns this:

image

Copy link
Contributor

@rngadam rngadam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

branch should be 74-evaluate-question-quality
fixes #74 in the description of this PR

ailab/db/finesse/__init__.py Outdated Show resolved Hide resolved
tests/test_db_generate_qna_crawl.py Outdated Show resolved Hide resolved
@JolanThomassin
Copy link
Contributor Author

All changes have been made.

@JolanThomassin JolanThomassin marked this pull request as ready for review April 25, 2024 15:09
@JolanThomassin
Copy link
Contributor Author

Need one approval to merge, everything is working is just a small modification to have better result.

@JolanThomassin
Copy link
Contributor Author

J'ai enlevé l'offset car cela empêchait le programme de fonctionner, et je n'ai pas le temps de tout reprendre.

from ailab.db.finesse.test_queries import get_random_crawl

# Constants
TEST_VERSION = date.today()

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be an argument

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you mean the number of question wanted, indeed, this would be better.

Copy link

@ibrahim-kabir ibrahim-kabir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Incredible work ! Thanks for all of your work @JolanThomassin :)

Copy link

@RussellJimmies RussellJimmies left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@JolanThomassin JolanThomassin requested a review from a team April 25, 2024 19:45
@Francois-Werbrouck Francois-Werbrouck linked an issue Apr 25, 2024 that may be closed by this pull request

average_character_length = 0

with project_db.cursor() as cursor:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cursor should be given as a argument to facilitate testing. The connection and cursor generation should be done outside of lower level function.

compteur = 0

while compteur < REQUIRED_QUESTIONS:
schema_version = "louis_v005"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Schema version should be a Secret

bin/generate_qna_crawl.py Show resolved Hide resolved
@JolanThomassin JolanThomassin removed their assignment Apr 25, 2024
@Francois-Werbrouck Francois-Werbrouck self-assigned this May 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Archived in project
Development

Successfully merging this pull request may close these issues.

Evaluate a Question Quality
5 participants