Using generative AI to create a contracts quiz

Using the latest version of LM-Studio I loaded up Mistral-Nemo-Instruct-2407-GGUF from Hugging Face and using the Quiz Creator prompt from Prompts for Instructors (modified to include law school as an option) I was able to generate the following quiz in less than 15 minutes. Note: I did need to ask it to generate model answers for the open ended questions but I think the prompt can be further modified to include that feature.

 

System:

Below is an instruction that describes a task. Write a response that appropriately completes the request.

User:

You are a helpful teaching assistant and an expert in assessment. You create diagnostic quizzes that comprise of multiple choice and open ended questions that test student knowledge. You only ask 2 questions at a time and keep your part of the conversation brief. First introduce yourself to the teacher and ask them what topic they teach and the learning level of their students (high school, college, graduate school, or law school). Number the questions. Wait for the teacher to respond. Do not move on until the teacher responds. Do not ask any other questions until the teacher responds. Do not mention topics or documents until the teacher responds to the first two questions. Only once you have the answers to the first two questions then go ahead and ask the teacher what specifically (in 2 or 3 points) students should understand about this specific topic and what sticking points or difficulties students might have. This will help you construct the test. Wait for the teacher to respond. Then go ahead and create a quiz with 5 multiple choice questions and 2 open ended questions. The questions should be arranged from easiest to most difficult. Questions should test for rote knowledge and ask students to apply their knowledge. Do not focus on sticking points only. Every incorrect choice in the multiple choice questions should be plausible. Do not use an “all of the above” option in any of the questions and do not use negative framing. When applicable, open ended questions should prompt students to apply their knowledge and explain concepts in their own words and should include a metacognitive element eg explain why you think this? What assumptions are you making? Make the test nicely formatted for the students. Also give the teacher an answer key. Explain your reasoning for each question and let that teacher know that this is a draft and that you are happy to work with them to refine the questions. You also can explain that your job is to help them assess student knowledge and that you view a test as both useful for assessment and as a learning event, to help student see the gap in their knowledge and give them an opportunity to recall what they know (retrieval practice).

Assistant:

Hello teacher! I’m here to assist you with creating a diagnostic quiz. To start, could you please tell me:

1. What subject do you teach?
2. At which learning level are your students? (High school, college, graduate school, law school)
User:

I am teaching contract law to students in law school.

Assistant:

Great! Now, to help me create targeted questions, could you also share:

1. The specific aspects of contract law you’d like the quiz to cover?
2. Any common misconceptions or sticking points students might have regarding this topic?
User:

1. I would like the quiz ro cover offer and acceptance, the duration of an offer, and remedies for breach of contract
2. Students often have trouble dealing the difference between express and implied contracts

Assistant:

Thank you for the additional information. Here’s a draft diagnostic quiz based on your inputs:

**Contract Law Diagnostic Quiz**

1. **Multiple Choice:** An offer to make a contract remains open for acceptance until:
A) The offeror revokes it
B) A reasonable time has passed
C) It is accepted
D) It is communicated to the offeree

2. **Multiple Choice:** Which of the following statements about implied contracts is true?
A) An implied contract can only be verbal
B) Implied contracts are always based on the conduct of both parties
C) Implied contracts must be in writing
D) Implied contracts require a specific agreement

3. **Multiple Choice:** If Party A breaches a valid contract with Party B, and the breach was minor (not material), which remedy is Party B most likely to seek?
A) Damages for breach of contract
B) Specific performance
C) Rescission and restitution
D) Injunction

4. **Multiple Choice:** An offer can be accepted by:
A) Email, but not fax
B) Mail, but not email
C) Any reasonable means of communication
D) Only in person

5. **Multiple Choice:** Which of the following is NOT a valid reason for an offeree to reject an offer?
A) The offeree changes their mind
B) The offer has lapsed due to a time limit
C) The consideration provided by the offeree is insufficient
D) The offer was made in consideration of something illegal

6. **Open-Ended:** Explain why it’s important for an offeror to clearly state the duration of their offer. What assumptions are you making about the offeree’s knowledge and intentions in this scenario?

7. **Open-Ended:** Distinguish between express contracts and implied contracts. Provide a brief example of each type, and explain under what circumstances each type might be more likely to occur.

**Answer Key:**

1(A), 2(B), 3(A), 4(C), 5(D)


User:

Write a model answer for question 6

Assistant:

**Model Answer – Question 6:**

It’s important for an offeror to clearly state the duration of their offer to avoid misunderstandings and potential disputes with the offeree. By explicitly stating when an offer expires, the offeror makes it clear to the offeree that they need to act promptly if they wish to accept the offer. This promotes fairness and certainty in contract formation.

Assumptions made about the offeree’s knowledge and intentions include:

* The offeree is aware of the time limit placed on the offer.
* The offeree understands that if they do not accept the offer within the specified duration, it may lapse or be revoked by the offeror.
* The offeree has enough information to make an informed decision about whether to accept the offer within the given time frame.
User:

Write a model answer for question 7

Assistant:

**Model Answer – Question 7:**

**Express Contracts:**
– An express contract is a agreement where the terms are explicitly stated by the parties, either orally or in writing.
– Example: A and B agree on a written employment contract outlining salary, benefits, work duties, etc. Here, both parties know exactly what they’re agreeing to due to the clear articulation of terms.
– Express contracts are more likely to occur when:
– The agreement involves complex or important matters (e.g., real estate, business transactions).
– Parties want to ensure clarity and minimize misunderstandings.
– There’s a need for legal enforceability.

**Implied Contracts:**
– An implied contract arises from the conduct of the parties, even if there’s no explicit agreement. The actions and circumstances indicate an intent to enter into a contractual relationship.
– Example: A painter does work on B’s house without a written contract. If B pays A for the work done, an implied contract exists based on their actions and the surrounding circumstances.
– Implied contracts are more likely to occur when:
– The agreement involves simple or routine matters (e.g., everyday transactions).
– Parties act in reliance on each other’s promises or conduct.
– There’s no need for a formal, written agreement.

Some notes:

  • The questions and answers look fine but I’m not a contracts teacher.
  • This is all open source software that is free to use, no need for subscriptions or expensive API keys.
  • It runs on off the shelf hardware. It will take longer to run on a less powerful machine but it will run
  • Ultimately anyone could do this on pretty much any machine

Drupal 11.0 will require PHP 8.3 and MySQL 8.0

Drupal 11 development has reached a point where the system requirements are being raised in the development branch. To prepare core developers for this and to inform the community at large, we are announcing the following requirements for Drupal 11. … Drupal 11 will require PHP 8.3 and older versions of PHP are not supported. … The minimum database requirements for backends supported by Drupal 11 are MySQL 8.0 …

Source: Drupal 11.0 will require PHP 8.3 and MySQL 8.0

StarCoder2 – open source code completion models

StarCoder2 is a family of code generation models (3B, 7B, and 15B), trained on 600+ programming languages from The Stack v2 and some natural language text such as Wikipedia, Arxiv, and GitHub issues. The models use Grouped Query Attention, a context window of 16,384 tokens, with sliding window attention of 4,096 tokens. The 3B & 7B models were trained on 3+ trillion tokens, while the 15B was trained on 4+ trillion tokens. For more details check out the paper.

StarCoder2 @ Github

StarCoder2 is a family of open LLMs for code and comes in 3 different sizes with 3B, 7B and 15B parameters. The flagship StarCoder2-15B model is trained on over 4 trillion tokens and 600+ programming languages from The Stack v2. All models use Grouped Query Attention, a context window of 16,384 tokens with a sliding window attention of 4,096 tokens, and were trained using the Fill-in-the-Middle objective.

StarCoder2 offers three model sizes: a 3 billion-parameter model trained by ServiceNow, a 7 billion-parameter model trained by Hugging Face, and a 15 billion-parameter model trained by NVIDIA using NVIDIA NeMo on NVIDIA accelerated infrastructure:

StarCoder2 @ Hugging Face

 

Drupal 11 is now open for development, Drupal 10.3.x is branched

Starting today, the Drupal 11.x branch is used for building the next major Drupal version, Drupal 11. This means that major version specific changes can now happen on the Drupal 11.x branch. This includes dependency and requirements updates and removal of deprecated API and extensions. Details are available in the allowed changes during Drupal core release cycle document. Drupal 11 is planned to be released either on the week of June 17, week of July 29 or week of December 9, 2024, depending on when beta requirements are completed.

Source: Drupal 11 is now open for development, Drupal 10.3.x is branched

Mountpoint for Amazon S3 – Generally Available and Ready for Production Workloads | AWS News Blog

Mountpoint for Amazon S3 is an open source file client that makes it easy for your file-aware Linux applications to connect directly to Amazon Simple Storage Service (Amazon S3) buckets. Announced earlier this year as an alpha release, it is now generally available and ready for production use on your large-scale read-heavy applications: data lakes, machine learning training, image rendering, autonomous vehicle simulation, ETL, and more. It supports file-based workloads that perform sequential and random reads, sequential (append only) writes, and that don’t need full POSIX semantics.

Mountpoint for Amazon S3 – Generally Available and Ready for Production Workloads

 

Notes on better search 8/18/2023

Goal: better, more focused search for www.cali.org.

In general the plan is to scrape the site to a vector database, enable embeddings of the vector db in Llama 2, provide API endpoints to search/find things.

Hints and pointers.

  • Llama2-webui – Run any Llama 2 locally with gradio UI on GPU or CPU from anywhere
  • FastAPI – web framework for building APIs with Python 3.7+ based on standard Python type hints
  • Danswer – Ask Questions in natural language and get Answers backed by private sources. It makes use of
    • PostgreSQL – a powerful, open source object-relational database system
    • QDrant – Vector Database for the next generation of AI applications.
    • Typesense – a modern, privacy-friendly, open source search engine built from the ground up using cutting-edge search algorithms, that take advantage of the latest advances in hardware capabilities.

The challenge is to wire together these technologies and then figure out how to get it to play nice with Drupal. One possibility is just to build this with an API and then use the API to interact with Drupal. That approach also offers the possibility of allowing the membership to interact with the API too.