mirror of
https://github.com/coleam00/bolt.new-any-llm
synced 2024-12-26 13:51:59 +00:00
76cc7a8139
- Create detailed provider implementation guide with: - Architecture overview and implementation steps - Configuration patterns and best practices - Testing checklist and Docker integration guide - Example using Together AI implementation - Add Together AI as new provider with: - Environment variables and Docker configuration - Support for Qwen, Llama, and Mixtral models - API key and base URL management - OpenAI-compatible API integration
84 lines
2.3 KiB
Docker
84 lines
2.3 KiB
Docker
ARG BASE=node:20.18.0
|
|
FROM ${BASE} AS base
|
|
|
|
WORKDIR /app
|
|
|
|
# Install dependencies (this step is cached as long as the dependencies don't change)
|
|
COPY package.json pnpm-lock.yaml ./
|
|
|
|
RUN corepack enable pnpm && pnpm install
|
|
|
|
# Copy the rest of your app's source code
|
|
COPY . .
|
|
|
|
# Expose the port the app runs on
|
|
EXPOSE 5173
|
|
|
|
# Production image
|
|
FROM base AS bolt-ai-production
|
|
|
|
# Define environment variables with default values or let them be overridden
|
|
ARG GROQ_API_KEY
|
|
ARG HuggingFace_API_KEY
|
|
ARG OPENAI_API_KEY
|
|
ARG ANTHROPIC_API_KEY
|
|
ARG OPEN_ROUTER_API_KEY
|
|
ARG GOOGLE_GENERATIVE_AI_API_KEY
|
|
ARG OLLAMA_API_BASE_URL
|
|
ARG TOGETHER_API_KEY
|
|
ARG TOGETHER_API_BASE_URL
|
|
ARG VITE_LOG_LEVEL=debug
|
|
ARG DEFAULT_NUM_CTX
|
|
|
|
ENV WRANGLER_SEND_METRICS=false \
|
|
GROQ_API_KEY=${GROQ_API_KEY} \
|
|
HuggingFace_KEY=${HuggingFace_API_KEY} \
|
|
OPENAI_API_KEY=${OPENAI_API_KEY} \
|
|
ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \
|
|
OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \
|
|
GOOGLE_GENERATIVE_AI_API_KEY=${GOOGLE_GENERATIVE_AI_API_KEY} \
|
|
OLLAMA_API_BASE_URL=${OLLAMA_API_BASE_URL} \
|
|
TOGETHER_API_KEY=${TOGETHER_API_KEY} \
|
|
TOGETHER_API_BASE_URL=${TOGETHER_API_BASE_URL} \
|
|
VITE_LOG_LEVEL=${VITE_LOG_LEVEL} \
|
|
DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX}
|
|
|
|
# Pre-configure wrangler to disable metrics
|
|
RUN mkdir -p /root/.config/.wrangler && \
|
|
echo '{"enabled":false}' > /root/.config/.wrangler/metrics.json
|
|
|
|
RUN npm run build
|
|
|
|
CMD [ "pnpm", "run", "dockerstart"]
|
|
|
|
# Development image
|
|
FROM base AS bolt-ai-development
|
|
|
|
# Define the same environment variables for development
|
|
ARG GROQ_API_KEY
|
|
ARG HuggingFace
|
|
ARG OPENAI_API_KEY
|
|
ARG ANTHROPIC_API_KEY
|
|
ARG OPEN_ROUTER_API_KEY
|
|
ARG GOOGLE_GENERATIVE_AI_API_KEY
|
|
ARG OLLAMA_API_BASE_URL
|
|
ARG TOGETHER_API_KEY
|
|
ARG TOGETHER_API_BASE_URL
|
|
ARG VITE_LOG_LEVEL=debug
|
|
ARG DEFAULT_NUM_CTX
|
|
|
|
ENV GROQ_API_KEY=${GROQ_API_KEY} \
|
|
HuggingFace_API_KEY=${HuggingFace_API_KEY} \
|
|
OPENAI_API_KEY=${OPENAI_API_KEY} \
|
|
ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \
|
|
OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \
|
|
GOOGLE_GENERATIVE_AI_API_KEY=${GOOGLE_GENERATIVE_AI_API_KEY} \
|
|
OLLAMA_API_BASE_URL=${OLLAMA_API_BASE_URL} \
|
|
TOGETHER_API_KEY=${TOGETHER_API_KEY} \
|
|
TOGETHER_API_BASE_URL=${TOGETHER_API_BASE_URL} \
|
|
VITE_LOG_LEVEL=${VITE_LOG_LEVEL} \
|
|
DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX}
|
|
|
|
RUN mkdir -p ${WORKDIR}/run
|
|
CMD pnpm run dev --host
|