api_get_article3.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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[
  23. "demo_name"]
  24. try:
  25. r = get_article.submit_task(words_meaning_list=words, take_count=take_count, student_stage=student_stage, real_ip=real_ip,
  26. demo_name=demo_name)
  27. return r if not isinstance(r, str) else resp_500(message=r)
  28. except Exception as e:
  29. log_err_e(e, msg="文章3,ds接口错误/article/reading-comprehension/deepseek;")
  30. return resp_500(message=f"{type(e).__name__},{e}")