oai-reverse-proxy/docs/huggingface.md

3.2 KiB

Deploy to Huggingface Space

This repository can be deployed to a Huggingface Space. This is a free service that allows you to run a simple server in the cloud. You can use it to safely share your OpenAI API key with a friend.

1. Get an API key

  • Go to OpenAI and sign up for an account. You can use a free trial key for this as long as you provide SMS verification.

2. Create an empty Huggingface Space

  • Go to Huggingface and sign up for an account.
  • Once logged in, create a new Space.
  • Provide a name for your Space and select "Docker" as the SDK. Select "Blank" for the template.
  • Click "Create Space" and wait for the Space to be created.

Create Space

3. Create an empty Dockerfile

  • Once your space is created, you'll see an option to "Create the Dockerfile in your browser". Click that link.

Create Dockerfile

  • Paste the following into the text editor and click "Save".
FROM node:18-bullseye-slim
RUN apt-get update && \
    apt-get install -y git
RUN git clone https://github.com/nai-degen/oai-reverse-proxy.git /app
WORKDIR /app
RUN npm install
RUN npm run build
EXPOSE 7860
CMD [ "npm", "start" ]
  • Click "Commit new file to main" to save the Dockerfile.

Commit

4. Set your OpenAI API key as a secret

  • Click the Settings button in the top right corner of your repository.
  • Scroll down to the Repository Secrets section and click New Secret.

Secrets

  • Enter OPENAI_KEY as the name and your OpenAI API key as the value.

New Secret

5. Deploy the server

  • Your server should automatically deploy when you add the secret, but if not you can select Factory Reboot from that same Settings menu.
  • The Service Info section below should show the URL for your server. You can share this with anyone to safely give them access to your OpenAI API key.
  • Your friend doesn't need any OpenAI API key of their own, they just need your link.

Optional

Updating the server

You can just restart your server to have it pull the latest version of the code from GitHub.

Customizing the server

The server will be started with some default configuration, but you can override it by adding a .env file to your space. You can use Huggingface's web editor to create a new .env file alongside your Dockerfile.

See .env.example for a list of available configuration options, which include rate limiting, request filtering, logging, and more.

After creating your .env file, Huggingface will restart your server automatically.

Restricting access to the server

If you want to restrict access to the server, you can set a PROXY_KEY secret. This key will need to be passed in the Authentication header of every request to the server, just like an OpenAI API key.

Add this using the same method as the OPENAI_KEY secret above. Don't add this to your .env file because that file is public and anyone can see it.