Skip to content

snekkenull/Anthropic-Claude-demo

Repository files navigation

Anthropic-API Demo

A demo repo based on Anthropic API.

CHANGELOG: Fix the XMLHttpRequest error caused by sdk.

chat-logo

Running Locally

Pre environment

  1. Node: Check that both your development environment and deployment environment are using Node v18 or later. You can use nvm to manage multiple node versions locally。
     node -v
  2. PNPM: We recommend using pnpm to manage dependencies. If you have never installed pnpm, you can install it with the following command:
     npm i -g pnpm
  3. ANTHROPIC_API_KEY: Before running this application, you need to obtain the API key from Anthropic.

Getting Started

  1. Install dependencies
     pnpm install
  2. Copy the .env.example file, then rename it to .env, and add your Anthropic API key to the .env file.
     ANTHROPIC_API_KEY=sk-xxx...
  3. Run the application, the local project runs on http://localhost:3000/
     pnpm run dev

Deploy

Deploy With Vercel

Deploy with Vercel

🔒 Need website password?

Deploy with the SITE_PASSWORD

Deploy with Vercel

Deploy With Netlify

Deploy with Netlify

Step-by-step deployment tutorial:

  1. Fork this project,Go to https://app.netlify.com/start new Site, select the project you forked done, and connect it with your GitHub account.

  2. Select the branch you want to deploy, then configure environment variables in the project settings.

  3. Select the default build command and output directory, Click the Deploy Site button to start deploying the site。

Deploy with Docker

Before deploying the app, please make sure .env is configured normally.

Environment variables refer to the documentation below. Docker Hub address.

Direct run

docker run --name=Anthropic-Claude-demo --volume=/path/.env:/usr/src/.env:rw -p 3000:3000 -d snekkenull/Anthropic-Claude-demo:latest

/path/.env represents the path to the local environment variable.

Docker compose

version: '3'

services:
  Anthropic-Claude-demo:
    image: snekkenull/Anthropic-Claude-demo:latest
    container_name: Anthropic-Claude-demo
    restart: always
    ports:
      - '3000:3000'
    volumes:
      - .env:/usr/src/.env
# start
docker compose up -d
# down
docker-compose down

Deploy on more servers

Please refer to the official deployment documentation:https://docs.astro.build/en/guides/deploy

Environment Variables

You can control the website through environment variables.

Name Description Default
ANTHROPIC_API_KEY Your API Key for Anthropic. null
HEAD_SCRIPTS Inject analytics or other scripts before </head> of the page null
SITE_PASSWORD Set password for site, If not set, site will be public null
ANTHROPIC_API_MODEL ID of the model to use. List models claude-2
ANTHROPIC_API_TOKEN Your default tokens for dialog. 1000000

Frequently Asked Questions

Q: TypeError: fetch failed (can't connect to Anthropic Api)

A: Configure environment variables HTTPS_PROXY,reference: https://github.com/snekkenull/Anthropic-Claude-demo/issues/34

Q: throw new TypeError(${context} is not a ReadableStream.)

A: The Node version needs to be v18 or later,reference: https://github.com/snekkenull/Anthropic-Claude-demo/issues/65

Q: Accelerate domestic access without the need for proxy deployment tutorial?

A: You can refer to this tutorial: https://github.com/snekkenull/Anthropic-Claude-demo/discussions/270

Q: PWA is not working?

A: Current PWA does not support deployment on Netlify, you can choose vercel or node deployment.

Contributing

Thanks Chatgpt-demo Auther's ddiu8081 Chatgpt-demo

License

MIT © snekkenull