-
Notifications
You must be signed in to change notification settings - Fork 532
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into fix-invalid-token-id-indexerror
- Loading branch information
Showing
41 changed files
with
1,356 additions
and
1,586 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,6 +7,7 @@ docs/build | |
*.gguf | ||
.venv | ||
benchmarks/results | ||
.python-version | ||
|
||
# Remove doc build folders | ||
.cache/ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
This recipe demonstrates how to use the `outlines` library to extract structured event details from a text message. | ||
We will extract the title, location, and start date and time from messages like the following: | ||
|
||
```plaintext | ||
Hello Kitty, my grandmother will be here, I think it's better to postpone | ||
our appointment to review math lessons to next Monday at 2pm at the same | ||
place, 3 avenue des tanneurs, one hour will be enough see you 😘 | ||
``` | ||
|
||
Let see how to extract the event details from the message with the MLX | ||
library dedicated to Apple Silicon processor (M series). | ||
|
||
```python | ||
--8<-- "docs/cookbook/extract_event_details.py" | ||
``` | ||
|
||
The output will be: | ||
|
||
```plaintext | ||
Today: Saturday 16 November 2024 and it's 10:55 | ||
``` | ||
|
||
and the extracted event information will be: | ||
|
||
```json | ||
{ | ||
"title":"Math Review", | ||
"location":"3 avenue des tanneurs", | ||
"start":"2024-11-22T14:00:00Z" | ||
} | ||
``` | ||
|
||
|
||
To find out more about this use case, we recommend the project developped by [Joseph Rudoler](https://x.com/JRudoler) the [ICS Generator](https://github.com/jrudoler/ics-generator) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
from datetime import datetime | ||
|
||
from pydantic import BaseModel, Field | ||
|
||
from outlines import generate, models | ||
|
||
# Load the model | ||
model = models.mlxlm("mlx-community/Hermes-3-Llama-3.1-8B-8bit") | ||
|
||
|
||
# Define the event schema using Pydantic | ||
class Event(BaseModel): | ||
title: str = Field(description="title of the event") | ||
location: str | ||
start: datetime = Field( | ||
default=None, description="date of the event if available in iso format" | ||
) | ||
|
||
|
||
# Get the current date and time | ||
now = datetime.now().strftime("%A %d %B %Y and it's %H:%M") | ||
|
||
# Define the prompt | ||
prompt = f""" | ||
Today's date and time are {now} | ||
Given a user message, extract information of the event like date and time in iso format, location and title. | ||
If the given date is relative, think step by step to find the right date. | ||
Here is the message: | ||
""" | ||
|
||
# Sample message | ||
message = """Hello Kitty, my grandmother will be here , I think it's better to postpone our | ||
appointment to review math lessons to next Friday at 2pm at the same place, 3 avenue des tanneurs, I think that one hour will be enough | ||
see you 😘 """ | ||
|
||
# Create the generator | ||
generator = generate.json(model, Event) | ||
|
||
# Extract the event information | ||
event = generator(prompt + message) | ||
|
||
# Print the current date and time | ||
print(f"Today: {now}") | ||
|
||
# Print the extracted event information in JSON format | ||
print(event.json()) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.