api_get_article3.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # -*- coding: utf-8 -*-
  2. from fastapi import FastAPI, Form, HTTPException, Request,status,APIRouter,Query,Path
  3. from tools.loglog import logger,log_err_e
  4. from core.respone_format import *
  5. from deepseek.get_article3 import GetArticle
  6. from pydantic import BaseModel, ValidationError, conint,Field
  7. from typing import List, Optional,Literal
  8. router = APIRouter(tags=['deepseek接口'])
  9. get_article = GetArticle()
  10. class Word(BaseModel):
  11. spell: str = Field(..., description="单词的拼写")
  12. meaning: str = Field(..., description="单词的意思")
  13. class ArticleRequest(BaseModel):
  14. words: List[Word] = Field(..., description="单词列表")
  15. take_count: int = 2
  16. student_stage: Literal[1, 2, 3]
  17. demo_name: Optional[str] = "无"
  18. @router.post("/article/reading-comprehension/deepseek")
  19. def post_article(json_data:ArticleRequest,request:Request):
  20. json_data = json_data.dict()
  21. real_ip = request.headers.get("X-Real-IP")
  22. words,take_count,student_stage,demo_name = json_data["words"],json_data["take_count"],json_data["student_stage"],json_data["demo_name"]
  23. try:
  24. r = get_article.submit_task(words_meaning_list=words, take_count=take_count,student_stage=student_stage,real_ip=real_ip,demo_name=demo_name)
  25. return r if not isinstance(r,str) else resp_500(message=r)
  26. except Exception as e:
  27. log_err_e(e,msg="文章3,ds接口错误/article/reading-comprehension/deepseek;")
  28. return resp_500(message=f"{type(e).__name__},{e}")