enricoros / big-AGI

Generative AI suite powered by state-of-the-art models and providing advanced AI/AGI functions. It features AI personas, AGI functions, multi-model chats, text-to-image, voice, response streaming, code highlighting and execution, PDF import, presets for developers, much more. Deploy on-prem or in the cloud.
https://big-agi.com
MIT License
5.32k stars 1.2k forks source link

Enterprise: server-configured models (no user dialog) #350

Open haopengsong opened 8 months ago

haopengsong commented 8 months ago

Why This project is great in many ways as it incorporates lots of features in accordance with the current development of AGI. However, some users who do not process a background in tech or not fluent in computers (senior people) may have troubles when using. People may find it uneasy to deal with so much settings (api_keys, models, temperatures, etc ... ).

Description A common usecase will be that ITs will setup the api_keys in .env, so that model selection will default to the first modal option in the model list, and the rest models will stay in a selection list for later use. Users can start typing prompts once logged in without having to setup models.

Requirements ITs setup environment variables in .env -> Users logged in -> Typing prompts directly (no need to setup modals)

enricoros commented 8 months ago

This feature could be small (auto-setup OpenAI or another engine and picking the first) or larger (defining the models available to the user on the backend so they're backend controlled all the time and could be a mix of different vendors).

In a simple case, we could auto-setup sources that have a _API_KEY set, but we'll also need one Env var to choose which is the default model (sources and models are unsorted, so we don't have a default model to pick).

In a more controlled and complex case, the IT will need to define a file with the models setup, which every user will use.

Which of the 2 options is more important?

haopengsong commented 8 months ago

Both options are nice. Ideally, option 2 might be better as it is easy to scale and manage in an enterprise environment where once setup by IT, everyone can have an equal access to the same modal from a specific service provider (OpenAI, Google, etc).

slfhstr commented 8 months ago

Is there a sample .env file ?

enricoros commented 8 months ago

Is there a sample .env file ?

See the docs/environment-variables.md file. Has sample .env contents and a detailed description of each variable.

clawfire commented 2 months ago

Just a quick remark here, I don't get how but if you deploy Azure OpenAI and setup the key in the .env, but don't deploy a GPT3.5, then, by default, nothing work. I opened a separate issues here: #611