From f59350cd73ee428152e5d9078946cbe5200cc5a4 Mon Sep 17 00:00:00 2001 From: bladeclara42 <71927457+bladeclara42@users.noreply.github.com> Date: Tue, 24 Jun 2025 14:02:27 +0700 Subject: [PATCH] fix (deepseek client): fix deepseek api base model api --- app/__pycache__/main.cpython-313.pyc | Bin 403 -> 405 bytes app/api/v1/voice.py | 10 ++++ .../deepseek_client.cpython-313.pyc | Bin 1157 -> 1500 bytes app/core/deepseek_client.py | 46 ++++++++++-------- app/main.py | 2 + app/models/voice.py | 8 +++ 6 files changed, 47 insertions(+), 19 deletions(-) create mode 100644 app/api/v1/voice.py create mode 100644 app/models/voice.py diff --git a/app/__pycache__/main.cpython-313.pyc b/app/__pycache__/main.cpython-313.pyc index 60050dd65b93ac07d1ea130466fd1118ec550bef..61185d5e24ee5ed23486c4b600aba7459c31f55a 100644 GIT binary patch delta 48 zcmbQtJe8U6GcPX}0}zP#L}h3*ZshY~6fpsEKQJ>gGTvp7zRRHSk&S_!Z*mr+CIIo2 B3K9SS delta 46 zcmbQrJeisAGcPX}0}y2C@n#%k*vRL_C}afWeqd%~WW38DeV0MuAsg@H97at5?cNG_ diff --git a/app/api/v1/voice.py b/app/api/v1/voice.py new file mode 100644 index 0000000..67bdede --- /dev/null +++ b/app/api/v1/voice.py @@ -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) diff --git a/app/core/__pycache__/deepseek_client.cpython-313.pyc b/app/core/__pycache__/deepseek_client.cpython-313.pyc index 27ebb7c8a8269f588d413e7f36efaded8bca452a..5d4ceee72fedc3ac283c84577877f837994d8d77 100644 GIT binary patch literal 1500 zcmZux&2Jk;6o2dWuD5o)j=M>l)PyV~RJcH*lzb>j0XdCBlh7pc5+txCYwL_Z$a;4* zyMZ>R2sj{al|a4bzySmj965)7AXbrV4M9aJLiA=7AtAwmH?cPfQb+c@-+OQ7&Ad0i zx5x2#6mZPkey{pS1bEDqV1&BhxQyTnFu)L2fpQsIg%yDc`gxnU8d?#lxDuw}6^Tmd z3sc#UXrv$(z*2&s1sSyqfo8~s=w!%G4gUDngpZ?7+A-(rb#-i3^j-Az?}-}UCk$4$33wnd2R5wbm2a_ZwBOzg%3 z!z-n#=`*EHJkP8UuOtLlLdh@tG5(J~L+c3Wn0)@!pAX6cx$wC?U6_{xn<31GY~fkh z6mqA@2R?w@N!ibIj&kw;>s-sLfo&7ZZiq(MkY*)2v>D3v2A(tdVi%e>aHkg7pT2gg zn~@>UeGXub06cx2Axju2*B3-PletT0I6$LNi984Sfk2OdIRs#f`BY#rlssBGV^a)n zp~9=70P8@IShkoE%R(7m6NjNJ%pgu*SWAak1fR9IP3|$}j_Hx&4z+53Aag6_lkxi- zOKFKob!UrMG=itFXx+S9^qp;Ddo1RYx=X0(?@+>I&!@z!Q~sX2SJoVz63=yPkLYFU z)OEi~^ph~V&txfes9rKHt7cd9MWmF0l+uxpb9y>K@pNFagLE}(lvA4}7qi(7Bb!}4 z;Vfq*3!m^UhBS07;@9vTCYSJhpD^`wb%)WBQq`%Ih{r^W*eueeD2tRF+b6cqE@bbP zh|6Oz$)z>4h?q(`+{sriSv9^&3DRK#@i2*N%EGJy7qfN6F{^ zltfkDTWUuWlG@S+AI#sMZ)(>X+O?)O(a^&C$um=;T9v>IdPWKHJh#O>Ly1jqGO{+SR5u*3ib9+H^ykKJ1xp zC0_dbw^-jXge3Jyi68d9{H^hQ@|$@byiTv8%G=VL$Ehs}g76sPzrf(n v5Pt;A4Oni=(0~09lC7k^r~aB8-jhF3TNg)AB--JALEV4*FF-+G!2SOLVCPot literal 1157 zcmZuwOKTHR6h8Az+DSUK53wz3d{79|xbe}72$81RR@0KPf^=Y*rnk-5$;@ykrD`|v zf#S-QpdcvjTnd7J!$2YNqEyjMcY*4{o#!S^TWv4QIrlrSd+vAcY{uj5fa~%4;lhdp z@PmWaLflxJZ&5u50}NpjDA(d7ObAp+@VzuCPDoUmkg43jGGc`)2{0uST(wyOz*G=L zwo&vrn2?LL@Qyw!H20X#W90v^vV#r9Y&#fVdb6B2}k zEDhxgc4=cC3ydXYrWE~o;!@5VYcJY&tdhS(ypXA3i4wa=MRX)J${V4aJf`|MGTWhT z97Op!{0JuVs!YrK#lR&c$LA&TSfNB%Bwz5IJPBE3Yh-Bgy%Oxe;P~)sDtdtu7i`| zcX$VzD1r8IZ}cM0aoHu8XaXVsBf@bMbx9C}9}xcved{p%6;9Pv=t`8;M;*1UW2p4+ lpp+M$c=x?E=>3d)cMZC^_SfKGU5*K--`w~OsOV9w_7{~j`7i(g diff --git a/app/core/deepseek_client.py b/app/core/deepseek_client.py index 1c25d5e..37223c8 100644 --- a/app/core/deepseek_client.py +++ b/app/core/deepseek_client.py @@ -1,27 +1,35 @@ # app/services/openai_service.py import openai from openai import OpenAI -from app.core.config import OPENAI_API_KEY, OPENAI_MODEL -from app.core.config import OPENAI_API_BASE +import openai +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_base = OPENAI_API_BASE - -print(openai.api_key) -print(OPENAI_MODEL) -print(OPENAI_API_BASE) +openai.api_base = DEEPSEEK_API_BASE async def chat_with_openai(messages: list): - # Use the model from environment variable or fallback to default - model = OPENAI_MODEL - client = OpenAI(api_key=openai.api_key, base_url=openai.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 + client = OpenAI( + api_key=openai.api_key, + base_url=DEEPSEEK_API_BASE ) - - 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 diff --git a/app/main.py b/app/main.py index 4786958..a4ac1a4 100644 --- a/app/main.py +++ b/app/main.py @@ -1,7 +1,9 @@ from fastapi import FastAPI from app.api.v1 import translate +# from app.api.v1 import voice app = FastAPI() # Include your routes app.include_router(translate.router, prefix="/api/v1/translate", tags=["translate"]) +# app.include_router(voice.router, prefix="/api/v1/voice", tags=["voice"]) \ No newline at end of file diff --git a/app/models/voice.py b/app/models/voice.py new file mode 100644 index 0000000..0efb19d --- /dev/null +++ b/app/models/voice.py @@ -0,0 +1,8 @@ +from pydantic import BaseModel + + +class VoiceRequest(BaseModel): + text: str + +class VoiceResponse(BaseModel): + voice: str