Skip to content

Release v2.1.0 #197

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

Merged
merged 105 commits into from
Aug 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
7a1864c
add android loader
amakropoulos Jun 28, 2024
7414d95
add android postprocessor
amakropoulos Jun 28, 2024
3dc86a8
function to determine the number of big cores in Android
amakropoulos Jul 12, 2024
699e902
use the number of big cores if on Android
amakropoulos Jul 12, 2024
b6df39f
cap big cores at processorCount
amakropoulos Jul 12, 2024
40b8a5d
detect big cores based on max frequency
amakropoulos Jul 17, 2024
f105b5e
move arguments to Awake
amakropoulos Jul 17, 2024
3d1d6ce
android demo sample
amakropoulos Jul 17, 2024
0c77e28
downloader with resume capabilities
amakropoulos Jul 18, 2024
ad68de5
use resume downloader in LLMUnitySetup
amakropoulos Jul 18, 2024
f1cd12f
adapt tests to download changes
amakropoulos Jul 18, 2024
19dcc01
use alpaca template, larger x, connect buttons
amakropoulos Jul 19, 2024
43d37d0
move model download to LLM
amakropoulos Jul 19, 2024
c89ddf4
use LLM download
amakropoulos Jul 19, 2024
8e2a1dd
set template, use short args for download
amakropoulos Jul 19, 2024
fb2685d
check if all bytes are downloaded before starting
amakropoulos Jul 20, 2024
b2506b7
download on start functionality
amakropoulos Jul 20, 2024
0e59840
add model url if download on build
amakropoulos Jul 20, 2024
d4de250
wait on download, server ready
amakropoulos Jul 20, 2024
2da395c
show progress
amakropoulos Jul 20, 2024
a2c22fc
download on build
amakropoulos Jul 21, 2024
b24af15
set template only when started
amakropoulos Jul 21, 2024
535b767
use symlinks instaed of copying
amakropoulos Jul 22, 2024
2110e2a
move models if using URL
amakropoulos Jul 22, 2024
00579d5
add function to extract files from APK
amakropoulos Jul 22, 2024
3ff73a9
add lora and model download attributes
amakropoulos Jul 22, 2024
7eec43e
download or extract model and lora
amakropoulos Jul 22, 2024
8a65cd7
do not change template when downloading models at start
amakropoulos Jul 22, 2024
cf0bd2f
update changelogs
amakropoulos Jul 23, 2024
0b5264e
update VERSION
amakropoulos Jul 26, 2024
f0f4957
button width static
amakropoulos Jul 23, 2024
fff3712
LLM manager
amakropoulos Jul 23, 2024
2c93c34
move LLMManager Editor inside LLM
amakropoulos Jul 23, 2024
f9e24d4
add trash icon
amakropoulos Jul 23, 2024
4880636
migrate LLMManager Editor to LLM Editor
amakropoulos Jul 23, 2024
74ecfd4
add custom url option
amakropoulos Jul 24, 2024
8fb57c5
implement loras to model selection
amakropoulos Jul 24, 2024
9658c77
json and button beautification
amakropoulos Jul 24, 2024
560e58a
lora as argument
amakropoulos Jul 24, 2024
beda63f
UI improvements
amakropoulos Jul 24, 2024
9473ea0
add label field, register LLM to LLMManager and remove model if not t…
amakropoulos Jul 25, 2024
2a17b8a
expand button, button improvements, set model/lora if not in LLM
amakropoulos Jul 25, 2024
04b0c50
simplify AddAsset
amakropoulos Jul 25, 2024
54554ed
use LLM manager on Editor mode otherwise GetAssetPath
amakropoulos Jul 25, 2024
936a35e
improve build process
amakropoulos Jul 26, 2024
23c1eb3
store models in a player pref
amakropoulos Jul 26, 2024
4e5afb1
download models with LLMManager
amakropoulos Jul 26, 2024
a2b9755
extract files on android
amakropoulos Jul 26, 2024
c708085
move android libraries to Plugins
amakropoulos Jul 26, 2024
dfd565b
move android library directly
amakropoulos Jul 26, 2024
ceb1b3d
bump LlamaLib to v1.1.6
amakropoulos Jul 26, 2024
72766f5
create plugin dir first
amakropoulos Jul 26, 2024
59a391a
remove null warning
amakropoulos Jul 26, 2024
12f0d39
allow only one download access
amakropoulos Jul 26, 2024
0ff7790
capture and expose download errors
amakropoulos Jul 26, 2024
a8d2de0
fix android dll name
amakropoulos Jul 26, 2024
64fffab
update changelogs
amakropoulos Jul 26, 2024
818d3ea
show network erro if it happens
amakropoulos Jul 26, 2024
cc45bce
show info about download on start
amakropoulos Jul 26, 2024
517ea57
set model from load if none
amakropoulos Jul 26, 2024
ed4d026
add llama3 7B and Qwen2 0.5B models
amakropoulos Jul 26, 2024
1734703
show license if not MIT/Apache 2
amakropoulos Jul 26, 2024
b8f38d2
update changelogs
amakropoulos Jul 26, 2024
86b0936
add set download on start function
amakropoulos Jul 26, 2024
7a4a3e6
start LLM always asynchronously
amakropoulos Jul 26, 2024
faed715
update changelogs
amakropoulos Jul 26, 2024
b69bc72
remove async from test
amakropoulos Jul 26, 2024
8c2473d
set chatml as default for qwen
amakropoulos Jul 26, 2024
8c894e8
allow to load a new model with SetModel
amakropoulos Jul 26, 2024
6bc4e08
add AI Emotional Girlfriend game
amakropoulos Jul 26, 2024
4f4dc5e
remove the CPU core display
amakropoulos Jul 26, 2024
26e4953
add AndroidDemo sample to Readmes
amakropoulos Jul 26, 2024
16a2c30
add note on RAGSearchUnity setup
amakropoulos Jul 30, 2024
0336d02
hide note on RAGSearchUnity setup on awake
amakropoulos Jul 30, 2024
6f37a8e
assembly definition to avoid errors with RAGSearchUnity missing
amakropoulos Jul 30, 2024
0c95c3f
include LLMManager functions on build and simplify build, allow SetMo…
amakropoulos Aug 1, 2024
5d37e08
add more tests for SetModel
amakropoulos Aug 1, 2024
8e769c5
small adaptations
amakropoulos Aug 1, 2024
4f5c0cc
renaming of waiting function
amakropoulos Aug 1, 2024
2f0a3a9
unregister in any case, setdirty for template, expose model variables
amakropoulos Aug 1, 2024
9e56cd1
set template only for non null llms
amakropoulos Aug 1, 2024
3c9e28c
smaller submit buttons
amakropoulos Aug 1, 2024
145d3e0
dont check isplaying from thread
amakropoulos Aug 1, 2024
836053e
overwrite small files in android, extract only once
amakropoulos Aug 1, 2024
d982aa1
rename LLMManagerPath to json
amakropoulos Aug 1, 2024
d2f1fa2
update samples
amakropoulos Aug 1, 2024
3b29685
show stop button on start
amakropoulos Aug 1, 2024
3a6db07
SetModel allowing for both local and deployable models
amakropoulos Aug 4, 2024
77a9b6e
move copy/move path functionality to builder
amakropoulos Aug 7, 2024
e33a68d
log only on Editor by default
amakropoulos Aug 7, 2024
79573d8
set earlier execution time
amakropoulos Aug 7, 2024
7bee11b
load lora through LLMManager
amakropoulos Aug 7, 2024
e8c69b9
add model on top of manager if all loras
amakropoulos Aug 7, 2024
eda1fc4
download if url not empty - otherwise moel is copied
amakropoulos Aug 7, 2024
1a68246
move android setup logic to LLMManager
amakropoulos Aug 8, 2024
98e204e
fix lora model placement for empty list
amakropoulos Aug 8, 2024
07c2a0f
allow empty paths to disable model
amakropoulos Aug 8, 2024
fc2c644
add error text
amakropoulos Aug 8, 2024
d8e46f0
update images
amakropoulos Aug 8, 2024
f14cbd4
copy the model name from the copy menu
amakropoulos Aug 8, 2024
e48c716
add LLM manager and Android info
amakropoulos Aug 8, 2024
28ab31b
update changelogs
amakropoulos Aug 8, 2024
3d31b54
Add contributing guidelines
Jul 27, 2024
7326118
docs: refer to crontributing md in readme
Aug 1, 2024
105c323
update changelogs
amakropoulos Aug 8, 2024
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
Binary file modified .github/LLMCharacter_GameObject.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .github/LLM_GameObject.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/LLM_manager.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/LLM_manager_expanded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/android.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion .github/doxygen/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ PROJECT_NAME = "LLM for Unity"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = v2.0.3
PROJECT_NUMBER = v2.1.0

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
## v2.1.0
#### 🚀 Features

- Android deployment (PR: #194)
- Allow to download models on startup with resumable download functionality (PR: #196)
- LLM model manager (PR: #196)
- Add Llama 3 7B and Qwen2 0.5B models (PR: #198)
- Start LLM always asynchronously (PR: #199)
- Add contributing guidelines (PR: #201)

## v2.0.3
#### 🚀 Features

Expand Down
19 changes: 6 additions & 13 deletions CHANGELOG.release.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,8 @@
### 🚀 Features

- Add LLM selector in Inspector mode (PR: #182)
- Allow to save chat history at custom path (PR: #179)
- Use asynchronous startup by default (PR: #186)
- Assign LLM if not set according to the scene and hierarchy (PR: #187)
- Allow to set log level (PR: #189)
- Allow to add callback functions for error messages (PR: #190)
- Allow to set a LLM base prompt for all LLMCharacter objects (PR: #192)

### 🐛 Fixes

- set higher priority for mac build with Accelerate than without (PR: #180)
- Fix duplicate bos warning

- Android deployment (PR: #194)
- Allow to download models on startup with resumable download functionality (PR: #196)
- LLM model manager (PR: #196)
- Add Llama 3 7B and Qwen2 0.5B models (PR: #198)
- Start LLM always asynchronously (PR: #199)
- Add contributing guidelines (PR: #201)
74 changes: 74 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting a project team member. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
7 changes: 7 additions & 0 deletions CODE_OF_CONDUCT.md.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

133 changes: 133 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# Contributing to LLMUnity

:+1: :tada: :heart: Thanks for your interest! :heart: :tada: :+1:

The following is a set of guidelines for contributing to [LLMUnity](https://github.com/undreamai/LLMUnity). These are just guidelines, not rules. Use your best judgment, and
feel free to propose changes to this document in a pull request.

#### Table Of Contents

[How Can I Contribute?](#how-can-i-contribute)
* [Code of Conduct](#code-of-conduct)
* [Set up your dev environment](#set-up-your-dev-environment)
* [Reporting Bugs](#reporting-bugs)
* [Suggesting Enhancements](#suggesting-enhancements)
* [Good First Issue](#good-first-issue)
* [Issue and Pull Request Labels](#issue-and-pull-request-labels)


## How Can I Contribute?

### Code of Conduct

This project adheres to the Contributor Covenant [code of conduct](CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code.

### Set up your dev environment


1. Fork the repo.
2. Clone your forked repo into a Unity project's `Assets`.
3. Create a symbolic link to `Samples~`, for example with:
```bash
cd Assets && ln -s ./LLMUnity/Samples~ ./Samples
```
4. Add the package to your projects libraries `Packages/manifest.json`:
```json
"ai.undream.llm": "file:path/to/project/Assets/LLMUnity",
```
5. Create a topic branch from where you want to base your work.
Name your branch prefixed with an appropriate [label](https://github.com/undreamai/LLMUnity/labels), following the naming convention `enhancement/*`, `bug/*`, `documentation/*`, etc. Make commits of logical units.
6. Set up pre-commit hooks with `sh ./.github/setup.sh`


### Reporting Bugs

This section guides you through submitting a bug report for LLMUnity.
Following these guidelines helps maintainers and the community understand your
report :pencil:, reproduce the behavior :computer:, and find related
reports :mag_right:.

Before creating bug reports, please check [this section](#before-submitting-a-bug-report)
as you might find out that you don't need to create one. When you are creating
a bug report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report) as it helps us resolve issues faster.

#### Before Submitting A Bug Report

**Perform a [cursory search](https://github.com/undreamai/LLMUnity/labels/bug)**
to see if the problem has already been reported. If it does exist, add a
[reaction](https://help.github.com/articles/about-discussions-in-issues-and-pull-requests/#reacting-to-ideas-in-issues-and-pull-requests)
to the issue to indicate this is also an issue for you, and add a
comment to the existing issue if there is extra information you can contribute.

#### How Do I Submit A (Good) Bug Report?

Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/).

Simply create an issue on the [LLMUnity issue tracker](https://github.com/undreamai/LLMUnity/issues), choose the appropriate provided issue template and fill it out.

The information we are interested in includes:

- details about your environment - which build, which operating system
- details about reproducing the issue - what steps to take, what happens, how
often it happens
- other relevant information - log files, screenshots, etc.

### Suggesting Enhancements

This section guides you through submitting an enhancement suggestion for
LLMUnity, including completely new features and minor improvements to
existing functionality. Following these guidelines helps maintainers and the
community understand your suggestion :pencil: and find related suggestions
:mag_right:.

Before creating enhancement suggestions, please check [this section](#before-submitting-an-enhancement-suggestion)
as you might find out that you don't need to create one. When you are creating
an enhancement suggestion, please [include as many details as possible](#how-do-i-submit-a-good-enhancement-suggestion).

#### Before Submitting An Enhancement Suggestion

**Perform a [cursory search](https://github.com/undreamai/LLMUnity/labels/enhancement)**
to see if the enhancement has already been suggested. If it has, add a
:thumbsup: to indicate your interest in it, or comment if there is additional
information you would like to add.

#### How Do I Submit A (Good) Enhancement Suggestion?

Enhancement suggestions are tracked as [GitHub issues](https://guides.github.com/features/issues/).

Simply create an issue on the [LLMUnity issue tracker](https://github.com/undreamai/LLMUnity/issues), choose the appropriate provided issue template and fill it out and provide the following information:

* **Use a clear and descriptive title** for the issue to identify the
suggestion.
* **Provide a step-by-step description of the suggested enhancement** in as
much detail as possible. This additional context helps the maintainers to
understand the enhancement from your perspective
* **Explain why this enhancement would be useful** to LLMUnity users.
* **Include screenshots and animated GIFs** if relevant to help you demonstrate
the steps or point out the part of LLMUnity which the suggestion is
related to. You can use [this tool](http://www.cockos.com/licecap/) to record
GIFs on macOS and Windows.
* **List some other applications where this enhancement exists, if applicable.**

### Good First Issue

We'll identify enhancements or bugs that can be categorized as tasks that:

- have low impact, or have a known workaround
- should be fixed
- have a narrow scope and/or easy reproduction steps
- can be worked on independent of other tasks

These issues will be labelled as [`good-first-issue`](https://github.com/undreamai/LLMUnity/labels/good%20first%20issue)
in the repository. If you are interested in contributing to the project, please
comment on the issue to let the maintainers (and community) know you are
interested in picking this up.

### Issue and Pull Request Labels

See [this page](https://github.com/undreamai/LLMUnity/labels) for the list of the labels we use to help us track and manage issues and pull requests.




7 changes: 7 additions & 0 deletions CONTRIBUTING.md.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading