Home
Softono
w

wandb

Professional software vendor delivering innovative solutions on the Softono platform. Specialized in both open-source and proprietary software development.

Total Products
2

Software by wandb

openui
Open Source

openui

# OpenUI <p align="center"> <img src="./assets/openui.png" width="150" alt="OpenUI" /> </p> Building UI components can be a slog. OpenUI aims to make the process fun, fast, and flexible. It's also a tool we're using at [W&B](https://wandb.com) to test and prototype our next generation tooling for building powerful applications on top of LLM's. ## Overview ![Demo](./assets/demo.gif) OpenUI let's you describe UI using your imagination, then see it rendered live. You can ask for changes and convert HTML to React, Svelte, Web Components, etc. It's like [v0](https://v0.dev) but open source and not as polished :stuck_out_tongue_closed_eyes:. ## Live Demo [Try the demo](https://openui.fly.dev) ## Running Locally OpenUI supports [OpenAI](https://platform.openai.com/api-keys), [Groq](https://console.groq.com/keys), and any model [LiteLLM](https://docs.litellm.ai/docs/) supports such as [Gemini](https://aistudio.google.com/app/apikey) or [Anthropic (Claude)](https://console.anthropic.com/settings/keys). The following environment variables are optional, but need to be set in your environment for alternative models to work: - **OpenAI** `OPENAI_API_KEY` - **Groq** `GROQ_API_KEY` - **Gemini** `GEMINI_API_KEY` - **Anthropic** `ANTHROPIC_API_KEY` - **Cohere** `COHERE_API_KEY` - **Mistral** `MISTRAL_API_KEY` - **OpenAI Compatible** `OPENAI_COMPATIBLE_ENDPOINT` and `OPENAI_COMPATIBLE_API_KEY` For example, if you're running a tool like [localai](https://localai.io/) you can set `OPENAI_COMPATIBLE_ENDPOINT` and optionally `OPENAI_COMPATIBLE_API_KEY` to have the models available listed in the UI's model selector under LiteLLM. ### Ollama You can also use models available to [Ollama](https://ollama.com). [Install Ollama](https://ollama.com/download) and pull a model like [Llava](https://ollama.com/library/llava). If Ollama is not running on http://127.0.0.1:11434, you can set the `OLLAMA_HOST` environment variable to the host and port of your Ollama instance. For example when running in docker you'll need to point to http://host.docker.internal:11434 as shown below. ### Docker (preferred) The following command would forward the specified API keys from your shell environment and tell Docker to use the Ollama instance running on your machine. ```bash export ANTHROPIC_API_KEY=xxx export OPENAI_API_KEY=xxx docker run --rm --name openui -p 7878:7878 -e OPENAI_API_KEY -e ANTHROPIC_API_KEY -e OLLAMA_HOST=http://host.docker.internal:11434 ghcr.io/wandb/openui ``` Now you can goto [http://localhost:7878](http://localhost:7878) and generate new UI's! ### From Source / Python Assuming you have git and [uv](https://github.com/astral-sh/uv) installed: ```bash git clone https://github.com/wandb/openui cd openui/backend uv sync --frozen --extra litellm source .venv/bin/activate # Set API keys for any LLM's you want to use export OPENAI_API_KEY=xxx python -m openui ``` ## LiteLLM [LiteLLM](https://docs.litellm.ai/docs/) can be used to connect to basically any LLM service available. We generate a config automatically based on your environment variables. You can create your own [proxy config](https://litellm.vercel.app/docs/proxy/configs) to override this behavior. We look for a custom config in the following locations: 1. `litellm-config.yaml` in the current directory 2. `/app/litellm-config.yaml` when running in a docker container 3. An arbitrary path specified by the `OPENUI_LITELLM_CONFIG` environment variable For example to use a custom config in docker you can run: ```bash docker run -n openui -p 7878:7878 -v $(pwd)/litellm-config.yaml:/app/litellm-config.yaml ghcr.io/wandb/openui ``` To use litellm from source you can run: ```bash pip install .[litellm] export ANTHROPIC_API_KEY=xxx export OPENAI_COMPATIBLE_ENDPOINT=http://localhost:8080/v1 python -m openui --litellm ``` ## Groq To use the super fast [Groq](https://groq.com) models, set `GROQ_API_KEY` to your Groq api key which you can [find here](https://console.groq.com/keys). To use one of the Groq models, click the settings icon in the nav bar. ### Docker Compose > **DISCLAIMER:** This is likely going to be very slow. If you have a GPU you may need to change the tag of the `ollama` container to one that supports it. If you're running on a Mac, follow the instructions above and run Ollama natively to take advantage of the M1/M2. From the root directory you can run: ```bash docker-compose up -d docker exec -it openui-ollama-1 ollama pull llava ``` If you have your OPENAI_API_KEY set in the environment already, just remove `=xxx` from the `OPENAI_API_KEY` line. You can also replace `llava` in the command above with your open source model of choice *([llava](https://ollama.com/library/llava) is one of the only Ollama models that support images currently)*. You should now be able to access OpenUI at [http://localhost:7878](http://localhost:7878). *If you make changes to the frontend or backend, you'll need to run `docker-compose build` to have them reflected in the service.* ## Development A [dev container](https://github.com/wandb/openui/blob/main/.devcontainer/devcontainer.json) is configured in this repository which is the quickest way to get started. ### Codespace <img src="./assets/codespace.png" alt="New with options..." width="500" /> Choose more options when creating a Codespace, then select **New with options...**. Select the US West region if you want a really fast boot time. You'll also want to configure your OPENAI_API_KEY secret or just set it to `xxx` if you want to try Ollama *(you'll want at least 16GB of Ram)*. Once inside the code space you can run the server in one terminal: `python -m openui --dev`. Then in a new terminal: ```bash cd /workspaces/openui/frontend npm run dev ``` This should open another service on port 5173, that's the service you'll want to visit. All changes to both the frontend and backend will automatically be reloaded and reflected in your browser. ### Ollama The codespace installs ollama automaticaly and downloads the `llava` model. You can verify Ollama is running with `ollama list` if that fails, open a new terminal and run `ollama serve`. In Codespaces we pull llava on boot so you should see it in the list. You can select Ollama models from the settings gear icon in the upper left corner of the application. Any models you pull i.e. `ollama pull llama` will show up in the settings modal. <img src="./assets/ollama.png" width="500" alt="Select Ollama models" /> ### Gitpod You can easily use Open UI via Gitpod, preconfigured with Open AI. [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/wandb/openui) On launch Open UI is automatically installed and launched. Before you can use Gitpod: * Make sure you have a Gitpod account. * To use Open AI models set up the `OPENAI_API_KEY` environment variable in your Gitpod [User Account](https://gitpod.io/user/variables). Set the scope to `wandb/openui` (or your repo if you forked it). > NOTE: Other (local) models might also be used with a bigger Gitpod instance type. Required models are not preconfigured in Gitpod but can easily be added as documented above. ### Resources See the readmes in the [frontend](./frontend/README.md) and [backend](./backend/README.md) directories.

CSS Frameworks & UI Kits UI Design & Prototyping
22.4K Github Stars
wandb
Open Source

wandb

<p align="center"> <img src="./assets/logo.svg" width="600" alt="Weights & Biases" /> </p> <p align="center"> <a href="https://pypi.python.org/pypi/wandb"><img src="https://img.shields.io/pypi/v/wandb" /></a> <a href="https://anaconda.org/conda-forge/wandb"><img src="https://img.shields.io/conda/vn/conda-forge/wandb" /></a> <a href="https://pypi.python.org/pypi/wandb"><img src="https://img.shields.io/pypi/pyversions/wandb" /></a> <a href="https://circleci.com/gh/wandb/wandb"><img src="https://img.shields.io/circleci/build/github/wandb/wandb/main" /></a> <a href="https://codecov.io/gh/wandb/wandb"><img src="https://img.shields.io/codecov/c/gh/wandb/wandb" /></a> </p> <p align='center'> <a href="https://colab.research.google.com/github/wandb/examples/blob/master/colabs/intro/Intro_to_Weights_%26_Biases.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" /></a> </p> Use W&B to build better models faster. Track and visualize all the pieces of your machine learning pipeline, from datasets to production machine learning models. Get started with W&B today, [sign up for a W&B account](https://wandb.com?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=readme)! <br> Building an LLM app? Track, debug, evaluate, and monitor LLM apps with [Weave](https://wandb.github.io/weave?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=readme), our new suite of tools for GenAI. &nbsp; # Documentation See the [W&B Developer Guide](https://docs.wandb.ai?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=documentation) and [API Reference Guide](https://docs.wandb.ai/training/api-reference#api-overview?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=documentation) for a full technical description of the W&B platform. &nbsp; # Quickstart Install W&B to track, visualize, and manage machine learning experiments of any size. ## Install the wandb library ```shell pip install wandb ``` ## Sign up and create an API key Sign up for a [W&B account](https://wandb.ai/login?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=quickstart). Create a new API key at [wandb.ai/settings](https://wandb.ai/settings) and store it securely. Optionally, use the `wandb login` CLI to configure your API key on your machine. You can skip this step -- W&B will prompt you to create an API key the first time you use it. **Note:** API keys can only be viewed once when created. Store your API key in a secure location like a password manager or environment variable. ## Create a machine learning training experiment In your Python script or notebook, initialize a W&B run with `wandb.init()`. Specify hyperparameters and log metrics and other information to W&B. ```python import wandb # Project that the run is recorded to project = "my-awesome-project" # Dictionary with hyperparameters config = {"epochs": 1337, "lr": 3e-4} # The `with` syntax marks the run as finished upon exiting the `with` block, # and it marks the run "failed" if there's an exception. # # In a notebook, it may be more convenient to write `run = wandb.init()` # and manually call `run.finish()` instead of using a `with` block. with wandb.init(project=project, config=config) as run: # Training code here # Log values to W&B with run.log() run.log({"accuracy": 0.9, "loss": 0.1}) ``` Visit [wandb.ai/home](https://wandb.ai/home) to view recorded metrics such as accuracy and loss and how they changed during each training step. Each run object appears in the Runs column with generated names. &nbsp; # Integrations W&B [integrates](https://docs.wandb.ai/models/integrations) with popular ML frameworks and libraries making it fast and easy to set up experiment tracking and data versioning inside existing projects. For developers adding W&B to a new framework, follow the [W&B Developer Guide](https://docs.wandb.ai/models/integrations/add-wandb-to-any-library). &nbsp; # W&B Hosting Options Weights & Biases is available in the cloud or installed on your private infrastructure. Set up a W&B Server in a production environment in one of three ways: 1. [Multi-tenant Cloud](https://docs.wandb.ai/platform/hosting/hosting-options/multi_tenant_cloud?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=hosting): Fully managed platform deployed in W&B’s Google Cloud Platform (GCP) account in GCP’s North America regions. 2. [Dedicated Cloud](https://docs.wandb.ai/platform/hosting/hosting-options/dedicated_cloud?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=hosting): Single-tenant, fully managed platform deployed in W&B’s AWS, GCP, or Azure cloud accounts. Each Dedicated Cloud instance has its own isolated network, compute and storage from other W&B Dedicated Cloud instances. 3. [Self-Managed](https://docs.wandb.ai/platform/hosting/hosting-options/self-managed?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=hosting): Deploy W&B Server on your AWS, GCP, or Azure cloud account or within your on-premises infrastructure. See the [Hosting documentation](https://docs.wandb.ai/platform/hosting?utm_source=github&utm_medium=code&utm_campaign=wandb&utm_content=hosting) in the W&B Developer Guide for more information. &nbsp; # Python Version Support We are committed to supporting our minimum required Python version for _at least_ six months after its official end-of-life (EOL) date, as defined by the Python Software Foundation. You can find a list of Python EOL dates [here](https://devguide.python.org/versions/). When we discontinue support for a Python version, we will increment the library’s minor version number to reflect this change. &nbsp; # Contribution guidelines Weights & Biases ❤️ open source, and we welcome contributions from the community! See the [Contribution guide](https://github.com/wandb/wandb/blob/main/CONTRIBUTING.md) for more information on the development workflow and the internals of the wandb library. For wandb bugs and feature requests, visit [GitHub Issues](https://github.com/wandb/wandb/issues) or contact [email protected]. &nbsp; # W&B Community Be a part of the growing W&B Community and interact with the W&B team in our [Discord](https://wandb.me/discord). Stay connected with the latest AI updates and tutorials with [W&B Fully Connected](https://wandb.ai/fully-connected). &nbsp; # License [MIT License](https://github.com/wandb/wandb/blob/main/LICENSE)

AI & Machine Learning ML Frameworks
11.1K Github Stars