fix (deepseek client): fix deepseek api base model api
This commit is contained in:
Binary file not shown.
10
app/api/v1/voice.py
Normal file
10
app/api/v1/voice.py
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
from fastapi import APIRouter
|
||||||
|
from app.models.voice import VoiceRequest, VoiceResponse
|
||||||
|
from app.services.voice import generate_voice
|
||||||
|
|
||||||
|
router = APIRouter()
|
||||||
|
|
||||||
|
@router.post("/", response_model=VoiceResponse)
|
||||||
|
async def voice(request: VoiceRequest):
|
||||||
|
voice = await generate_voice(request.text)
|
||||||
|
return VoiceResponse(voice=voice)
|
||||||
Binary file not shown.
@@ -1,27 +1,35 @@
|
|||||||
# app/services/openai_service.py
|
# app/services/openai_service.py
|
||||||
import openai
|
import openai
|
||||||
from openai import OpenAI
|
from openai import OpenAI
|
||||||
from app.core.config import OPENAI_API_KEY, OPENAI_MODEL
|
import openai
|
||||||
from app.core.config import OPENAI_API_BASE
|
from app.core.config import OPENAI_API_KEY, OPENAI_MODEL, OPENAI_API_BASE
|
||||||
|
|
||||||
|
# Initialize OpenAI client with DeepSeek's API
|
||||||
|
DEEPSEEK_API_BASE = "https://api.deepseek.com/v1"
|
||||||
|
DEEPSEEK_MODEL = "deepseek-chat"
|
||||||
|
|
||||||
# Set OpenAI API key from the environment
|
|
||||||
openai.api_key = OPENAI_API_KEY
|
openai.api_key = OPENAI_API_KEY
|
||||||
openai.api_base = OPENAI_API_BASE
|
openai.api_base = DEEPSEEK_API_BASE
|
||||||
|
|
||||||
print(openai.api_key)
|
|
||||||
print(OPENAI_MODEL)
|
|
||||||
print(OPENAI_API_BASE)
|
|
||||||
|
|
||||||
async def chat_with_openai(messages: list):
|
async def chat_with_openai(messages: list):
|
||||||
# Use the model from environment variable or fallback to default
|
client = OpenAI(
|
||||||
model = OPENAI_MODEL
|
api_key=openai.api_key,
|
||||||
client = OpenAI(api_key=openai.api_key, base_url=openai.api_base)
|
base_url=DEEPSEEK_API_BASE
|
||||||
|
|
||||||
response = client.chat.completions.create(
|
|
||||||
model="deepseek-chat", # Or the model you want
|
|
||||||
messages=messages, # Update this according to the new API syntax
|
|
||||||
max_tokens=100, # Example parameter
|
|
||||||
stream=False
|
|
||||||
)
|
)
|
||||||
|
|
||||||
return response.choices[0].message.content
|
try:
|
||||||
|
response = client.chat.completions.create(
|
||||||
|
model=DEEPSEEK_MODEL,
|
||||||
|
messages=messages,
|
||||||
|
max_tokens=1000,
|
||||||
|
temperature=0.7,
|
||||||
|
stream=False
|
||||||
|
)
|
||||||
|
|
||||||
|
if response.choices and len(response.choices) > 0:
|
||||||
|
return response.choices[0].message.content
|
||||||
|
return "No response from the model"
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error calling DeepSeek API: {str(e)}")
|
||||||
|
raise
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
from app.api.v1 import translate
|
from app.api.v1 import translate
|
||||||
|
# from app.api.v1 import voice
|
||||||
|
|
||||||
app = FastAPI()
|
app = FastAPI()
|
||||||
|
|
||||||
# Include your routes
|
# Include your routes
|
||||||
app.include_router(translate.router, prefix="/api/v1/translate", tags=["translate"])
|
app.include_router(translate.router, prefix="/api/v1/translate", tags=["translate"])
|
||||||
|
# app.include_router(voice.router, prefix="/api/v1/voice", tags=["voice"])
|
||||||
8
app/models/voice.py
Normal file
8
app/models/voice.py
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class VoiceRequest(BaseModel):
|
||||||
|
text: str
|
||||||
|
|
||||||
|
class VoiceResponse(BaseModel):
|
||||||
|
voice: str
|
||||||
Reference in New Issue
Block a user