api_get_article3.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # -*- coding: utf-8 -*-
  2. from typing import List, Optional, Literal
  3. from fastapi import Request, APIRouter
  4. from pydantic import BaseModel, Field
  5. from core.respone_format import *
  6. from deepseek.get_article3 import GetArticle
  7. from tools.loglog import log_err_e
  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,
  25. demo_name=demo_name)
  26. return r if not isinstance(r, str) else resp_500(message=r)
  27. except Exception as e:
  28. log_err_e(e, msg="文章3,ds接口错误/article/reading-comprehension/deepseek;")
  29. return resp_500(message=f"{type(e).__name__},{e}")