优化dockerfile,增加docker-compose,async openai

This commit is contained in:
Yuzhong Zhang
2025-03-03 13:55:09 +08:00
parent 48d58ef2e8
commit cdbca7ec62
3 changed files with 15 additions and 4 deletions
+3 -1
View File
@@ -3,16 +3,18 @@ FROM python:3.10-slim
WORKDIR /app WORKDIR /app
# 复制所需文件到容器中 # 复制所需文件到容器中
COPY ./app /app/app
COPY ./requirements.txt /app COPY ./requirements.txt /app
RUN pip install --no-cache-dir -r requirements.txt RUN pip install --no-cache-dir -r requirements.txt
COPY ./app /app/app
ENV API_KEYS='["your_api_key_1"]' ENV API_KEYS='["your_api_key_1"]'
ENV ALLOWED_TOKENS='["your_token_1"]' ENV ALLOWED_TOKENS='["your_token_1"]'
ENV BASE_URL=https://generativelanguage.googleapis.com/v1beta ENV BASE_URL=https://generativelanguage.googleapis.com/v1beta
ENV TOOLS_CODE_EXECUTION_ENABLED=true ENV TOOLS_CODE_EXECUTION_ENABLED=true
ENV MODEL_SEARCH='["gemini-2.0-flash-exp"]' ENV MODEL_SEARCH='["gemini-2.0-flash-exp"]'
COPY ./api_keys.txt /app
# Expose port # Expose port
EXPOSE 8000 EXPOSE 8000
+3 -3
View File
@@ -137,13 +137,13 @@ class OpenAIChatService:
if request.stream: if request.stream:
return self._handle_stream_completion(request.model, payload, api_key) return self._handle_stream_completion(request.model, payload, api_key)
return self._handle_normal_completion(request.model, payload, api_key) return await self._handle_normal_completion(request.model, payload, api_key)
def _handle_normal_completion( async def _handle_normal_completion(
self, model: str, payload: Dict[str, Any], api_key: str self, model: str, payload: Dict[str, Any], api_key: str
) -> Dict[str, Any]: ) -> Dict[str, Any]:
"""处理普通聊天完成""" """处理普通聊天完成"""
response = self.api_client.generate_content(payload, model, api_key) response = await self.api_client.generate_content(payload, model, api_key)
return self.response_handler.handle_response( return self.response_handler.handle_response(
response, model, stream=False, finish_reason="stop" response, model, stream=False, finish_reason="stop"
) )
+9
View File
@@ -0,0 +1,9 @@
version: '3'
services:
gemini-balance:
build: .
ports:
- "8000:8000"
env_file:
- .env