Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions docs/lab-1.5/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ First, if you haven't already, download the Granite 4 model. Make sure that `oll
```bash
ollama pull granite4:micro
```
!!! note
If the granite4:micro model isn't available yet, you can choose granite3.3:2b or granite3.3:8b

!!! note
The download may take a few minutes depending on your internet connection. In the meantime, you can check out information about model we're using [here](https://ollama.com/library/granite4). Check out how many languages it supports and take note of its capabilities. It'll help you decide what tasks you might want to use it for in the future.
Expand Down
4 changes: 1 addition & 3 deletions docs/lab-1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,9 @@ First, if you haven't already, download the Granite 4 model. Make sure that `oll
```bash
ollama pull granite4:micro
```
!!! note
If the granite4:micro model isn't available yet, you can choose granite3.3:2b or granite3.3:8b

!!! note
The download may take a few minutes depending on your internet connection. In the meantime, you can check out information about model we're using [here](https://ollama.com/library/granite3.3). Check out how many languages it supports and take note of its capabilities. It'll help you decide what tasks you might want to use it for in the future.
The download may take a few minutes depending on your internet connection. In the meantime, you can check out information about model we're using [here](https://ollama.com/library/granite4). Check out how many languages it supports and take note of its capabilities. It'll help you decide what tasks you might want to use it for in the future.

Open the AnythingLLM desktop application and either click on the *Get Started* button or open up settings (the 🔧 button). For now, we are going to configure the global settings for `ollama` but you can always change it in the future.

Expand Down
4 changes: 1 addition & 3 deletions docs/lab-2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,7 @@ And you'll see a list similar to the following:
```
ollama list
NAME ID SIZE MODIFIED
granite3.3:2b 07bd1f170855 1.5 GB About a minute ago
granite3.3:8b fd429f23b909 4.9 GB 2 minutes ago
granite4:micro b99795f77687 2.1 GB 23 hours ago
granite4:micro 4235724a127c 2.1 GB 23 hours ago
```
Next, use Ollama to run one of the models:

Expand Down
2 changes: 0 additions & 2 deletions docs/lab-5/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ model downloaded in `ollama`. This may take a bit, but we should have a way to c
```bash
ollama pull granite4:micro
```
!!! note
If the granite4:micro model isn't available yet, you can use granite3.3:2b or granite3.3:8b

If you didn't know, the supported languages with `granite4` now include:

Expand Down
16 changes: 6 additions & 10 deletions docs/lab-6/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,19 @@ Open up [Open-WebUI](http://localhost:8080/), and you should see something like
If you see this that means Open-WebUI is installed correctly, and we can continue configuration, if not, please find a workshop TA or
raise your hand we'll be there to help you ASAP.

Next as a sanity check, run the following command to confirm you have the [granite3.3:2b](https://ollama.com/library/granite3.3:2b)
Next as a sanity check, run the following command to confirm you have the [granite4:micro](https://ollama.com/library/granite4:micro)
model downloaded in `ollama`. This may take a bit, but we should have a way to copy it directly on your laptop.

```bash
ollama pull granite3.3:2b
ollama pull granite4:micro
```

If you didn't know, the supported languages with `granite3.3:2b` now include:
If you didn't know, the supported languages with `granite4:micro` now include:

- English, German, Spanish, French, Japanese, Portuguese, Arabic, Czech, Italian, Korean, Dutch, and Chinese. However, users may fine-tune this Granite model for languages beyond these 12 languages.

And the Capabilities also include:

- Thinking
- Summarization
- Text classification
- Text extraction
Expand All @@ -43,11 +42,10 @@ And the Capabilities also include:
- Code related tasks
- Function-calling tasks
- Multilingual dialog use cases
- Fill-in-the-middle
- Long-context tasks including long document/meeting summarization, long document QA, etc.
- Fill-In-the-Middle (FIM) code completions


Next click on the down arrow at the top and select the "granite3.3:2b" if it's not already selected.
Next click on the down arrow at the top and select the "granite4:micro" if it's not already selected.

![model selection](../images/openwebui_model_selection.png)

Expand All @@ -58,9 +56,7 @@ List all the past and current CEOs of the IBM corporation in order of their term
For example:
![Small LLM CEO list](../images/small_llm_ceo_list.png)

At first glance, the list looks pretty good. But if you know your IBM CEOs, you'll notice that it misses a few of them, and sometimes adds new names that weren't ever IBM CEOs!
(Note: the larger granite3.3:8b does a much better job on the IBM CEOs, you can try it later)
But we can provide the small LLM with a RAG document that supplements the model's missing information with a correct list, so it will generate a better answer.
At first glance, the list looks pretty good. But if you know your IBM CEOs, you'll notice that it misses a few of them, and sometimes adds new names that weren't ever IBM CEOs! Retrieval Augmented Generation (RAG) allows us to provide the small LLM with a RAG document that supplements the model's missing information with a correct list, so it will generate a better answer.

Click on the "New Chat" icon to clear the context. Then download a small text file with the correct list of IBM CEOs to your Downloads folder:

Expand Down
4 changes: 2 additions & 2 deletions docs/lab-7/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -236,8 +236,7 @@ def write_email(m: mellea.MelleaSession, name: str, notes: str) -> str:
return str(email_candidate.result)
else:
return email_candidate.sample_generations[0].value



m = mellea.start_session()
print(
write_email(
Expand All @@ -255,6 +254,7 @@ We create 3 requirements:
- First requirement (r1) will be validated by LLM-as-a-judge on the output of the instruction. This is the default behavior.
- Second requirement (r2) uses a function that takes the output of a sampling step and returns a boolean value indicating successful or unsuccessful validation. While the validation_fn parameter requires to run validation on the full session context, Mellea provides a wrapper for simpler validation functions (simple_validate(fn: Callable[[str], bool])) that take the output string and return a boolean as seen in this case.
- Third requirement is a check(). Checks are only used for validation, not for generation. Checks aim to avoid the "do not think about B" effect that often primes models (and humans) to do the opposite and "think" about B.
- We also demonstrate in the m = mellea.start_session() how you can specify a different Ollama model, in case you want to try something other than Mellea's ibm/granite4:micro default.

Run this in your local instance, and you'll see it working, and ideally no purple elephants! :)

Expand Down