add question api

This commit is contained in:
Robin COuret
2026-02-23 14:26:02 +01:00
parent 1b0e889f07
commit 978f726c10
6 changed files with 12 additions and 9 deletions

View File

@@ -1,10 +1,12 @@
from fastapi import APIRouter from fastapi import APIRouter
from src.app.models.knowledge import Knowledge from src.app.models.knowledge import Knowledge
from src.app.crud.crud_knowledges import create_knowledge, read_knowledges, read_knowledge, update_knowledge, delete_knowledge from src.app.models.question import Question
from src.app.crud.crud_questions import read_questions as read_questions_crud
from src.app.services.language_generation import completion from src.app.crud.crud_knowledges import create_knowledge, read_knowledges, read_knowledge, update_knowledge, delete_knowledge
from src.app.crud.crud_questions import read_questions as read_questions_crud, create_question
from src.app.services.language_generation import questions_generation
#Added in __ini__ #Added in __ini__
router = APIRouter(tags=["knowledges"]) router = APIRouter(tags=["knowledges"])
@@ -37,12 +39,14 @@ def delete(id: int):
knowledge = delete_knowledge(id) knowledge = delete_knowledge(id)
return knowledge return knowledge
#TODO: find pattern
@router.post("/knowledges/{id}/questions") @router.post("/knowledges/{id}/questions")
def create_questions(id: int): def create_questions(id: int):
question = completion(read_knowledge(id)) knowledge = read_knowledge(id)
#create_question() questions_raw = questions_generation(knowledge)
return question for q in questions_raw:
question = Question(question = q, knowledge=knowledge)
create_question(question)
return questions_raw
@router.get("/knowledges/{id}/questions") @router.get("/knowledges/{id}/questions")
def read_questions(id: int): def read_questions(id: int):

View File

@@ -1,7 +1,6 @@
from sqlmodel import Session, select from sqlmodel import Session, select
from src.app.models.question import Question from src.app.models.question import Question
from src.app.models.knowledge import Knowledge
from src.app.database import engine from src.app.database import engine
def create_question(question: Question): def create_question(question: Question):

View File

@@ -15,7 +15,7 @@ client = OpenAI(
nlp = spacy.load("fr_core_news_sm") nlp = spacy.load("fr_core_news_sm")
def completion(knowledge: Knowledge): def questions_generation(knowledge: Knowledge):
context = "Texte : ```" + knowledge.content + "```" context = "Texte : ```" + knowledge.content + "```"
instruction = "A partir du texte génère 3 questions :" instruction = "A partir du texte génère 3 questions :"