Skip to content

Latest commit

 

History

1,402 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenAI integration in Nextcloud

REUSE status

⚠️ The smart pickers have been removed from this app as they are now included in the Assistant app.

This app lets you connect any number of OpenAI-compatible services and pick, per service, which of their models you want to expose. Every selected model is registered as its own set of providers, named after the model, so you can offer several models side by side and choose between them in the AI admin settings.

Per modality, the following providers are registered for each selected model:

  • Text models: Free prompt, Chat, Chat with tools, Summarize, Headline, Topics, Context Write, Reformulate, Improve, Emoji, Change tone, Proofread, Reformat paragraphs and Translate (plus OCR, image analysis and audio chat when the service accepts the matching attachments)
  • Image models: image generation, also with an LLM-improved prompt
  • Transcription models: transcription, subtitles and transcription with paragraph reformatting
  • Speech models: text to speech

⚠️ Context Write, Summarize, Headline and Reformulate have mainly been tested with OpenAI. They might work when connecting to other services, without any guarantee.

Instead of connecting to the OpenAI API for these, you can also connect to a self-hosted LocalAI instance or Ollama instance or to any service that implements an API similar to the OpenAI one, for example: IONOS AI Model Hub, Plusserver or MistralAI.
Make sure to use the OpenAI-compatible endpoint instead of the custom ones they provide.

⚠️ This app is mainly tested with OpenAI. We do not guarantee it works perfectly with other services that implement OpenAI-compatible APIs with slight differences.

Improve AI task pickup speed

To avoid task processing execution delay, setup at 4 background job workers in the main server (where Nextcloud is installed). The setup process is documented here: https://docs.nextcloud.com/server/latest/admin_manual/ai/overview.html#improve-ai-task-pickup-speed

Ethical AI Rating

Rating for Text generation using ChatGPT via the OpenAI API: 🔴

Negative:

  • The software for training and inference of this model is proprietary, limiting running it locally or training by yourself
  • The trained model is not freely available, so the model can not be run on-premises
  • The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.

Rating for Translation using ChatGPT via the OpenAI API: 🔴

Negative:

  • The software for training and inference of this model is proprietary, limiting running it locally or training by yourself
  • The trained model is not freely available, so the model can not be run on-premises
  • The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model's performance and CO2 usage.

Rating for Image generation using DALL·E via the OpenAI API: 🔴

Negative:

  • The software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself
  • The trained model is not freely available, so the model can not be ran on-premises
  • The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.

Rating for Speech-To-Text using Whisper via the OpenAI API: 🟡

Positive:

  • The software for training and inferencing of this model is open source
  • The trained model is freely available, and thus can run on-premise

Negative:

  • The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.

Rating for Text-To-Speech via the OpenAI API: 🔴

Negative:

  • The software for training and inferencing of this model is proprietary, limiting running it locally or training by yourself
  • The trained model is not freely available, so the model can not be ran on-premises
  • The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.

Rating for Text generation via LocalAI: 🟢

Positive:

  • The software for training and inferencing of this model is open source
  • The trained model is freely available, and thus can be ran on-premises
  • The training data is freely available, making it possible to check or correct for bias or optimise the performance and CO2 usage.

Rating for Image generation using Stable Diffusion via LocalAI : 🟡

Positive:

  • The software for training and inferencing of this model is open source
  • The trained model is freely available, and thus can be ran on-premises

Negative:

  • The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.

Rating for Speech-To-Text using Whisper via LocalAI: 🟡

Positive:

  • The software for training and inferencing of this model is open source
  • The trained model is freely available, and thus can be ran on-premises

Negative:

  • The training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.

Learn more about the Nextcloud Ethical AI Rating in our blog.

🔧 Configuration

Admin settings

There is an "Artificial intelligence" section in the admin settings where you can:

  • Connect any number of services: OpenAI, LocalAI instances or any other remote service with an OpenAI-compatible API
  • Set the API key (or basic auth credentials) of each service
  • Select, per service and per modality, which models are exposed as providers
  • Configure the request behaviour, the usage quotas and the quota rules of each service, as well as the instance-wide quota period

Personal settings

There is an "Artificial intelligence" section in the personal settings where users can set their personal API key or basic auth credentials for each connected service, as well as view their usage quota per service. Using your own credentials for a service lifts that service's quotas. Users can also choose to disable the Nextcloud Assistant even if the Assistant app is installed.

About

OpenAI integration in Nextcloud

Resources

Contributing

Security policy

Stars

75 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages