Download Game! Currently 96 players. Last logged in:LouenGileonIberiamsspArchil

Blitzer's Blog >> 72647

Back to blogs index
Posted: 21 Sep 2026 08:17 [ permalink ]
 @app.put("/valvomo/prompts/{prompt_id}")
 def edit_pending_prompt(prompt_id: str, new_messages: list):
     """Muokkaa odottavaa promptia ennen sen vapauttamista."""
     state = load_state()
     if prompt_id not in state["prompts"]:
         raise HTTPException(status_code=404, detail="Promptia ei lC6ydy")
     
     state["prompts"][prompt_id]["request"]["messages"] = new_messages
     save_state(state)
     return {"status": "success", "message": "Promptia muokattu"}
 
 @app.post("/valvomo/prompts/{prompt_id}/reject")
 def reject_prompt(prompt_id: str):
     """HylkC$C$ odottava prompti."""
     state = load_state()
     if prompt_id not in state["prompts"]:
         raise HTTPException(status_code=404, detail="Promptia ei lC6ydy")
     
     state["prompts"][prompt_id]["status"] = "rejected"
     save_state(state)
     return {"status": "success", "message": "Prompti hylC$tty"}
 
 @app.post("/valvomo/prompts/{prompt_id}/approve")
 def approve_and_send_to_llm(prompt_id: str):
     """HyvC$ksyy promptin ja lC$hettC$C$ sen eteenpC$in valitulle LLM:lle."""
     state = load_state()
     if prompt_id not in state["prompts"]:
         raise HTTPException(status_code=404, detail="Promptia ei lC6ydy")
     
     target_llm = state["prompts"][prompt_id].get("assigned_llm", "default")
     process_prompt_to_llm(prompt_id, state, target_llm)
     return {"status": "success", "message": f"Prompti ajettu LLM:ssC$
('{target_llm}'), vastaus siirretty vastausjonoon."}
 
 
 # ==========================================
 # 5. VALVOMON HALLINTARAJAPINTA: VASTAUKSET (Kuratointi)
 # ==========================================
 @app.get("/valvomo/responses/pending")
 def list_pending_responses():
     """Listaa LLM:n palauttamat vastaukset, jotka odottavat kuratointia/hyvC$k
syntC$C$."""
     state = load_state()
     return {rid: r for rid, r in state["responses"].items() if r["status"] ==
"pending_response_approval"}
 
 @app.put("/valvomo/responses/{response_id}")
 def curate_response(response_id: str, new_content: str):
     """Muokkaa / parantaa vastausta ennen sen lopullista vapauttamista."""
     state = load_state()
     if response_id not in state["responses"]:
         raise HTTPException(status_code=404, detail="Vastausta ei lC6ydy")
     
     state["responses"][response_id]["content"] = new_content
     save_state(state)
     return {"status": "success", "message": "Vastausta parannettu /
kuratoitu"}
 
 @app.post("/valvomo/responses/{response_id}/approve")
 def approve_response(response_id: str):
     """HyvC$ksyy vastauksen lopullisesti ulosettavaksi."""
     state = load_state()
     if response_id not in state["responses"]:
         raise HTTPException(status_code=404, detail="Vastausta ei lC6ydy")
     
     state["responses"][response_id]["status"] = "approved_and_released"
     save_state(state)
     return {"status": "success", "message": "Vastaus hyvC$ksytty ja
vapautettu!"}
 
 ```
 
 ---
 
 ### MitC$ uusia tyC6kaluja tC$mC$ antaa sinulle?
 
 1. **LLM-reitityksen hallinta (`/valvomo/llms`)**: Voit lisC$tC$
jC$rjestelmC$C$n useita eri pC$C$tepisteitC$ (esim. paikallinen Ollama, joku
pilvi-API, tai varamalli) kutsuilla `POST /valvomo/llms` ja poistaa niitC$
tarvittaessa.
 2. **Dynaamiset tilat (`PUT /valvomo/mode`)**:
 * Aseta `mode: "manual"` -> kaikki pysC$htyy sinun tarkastettavaksesi.
 * Aseta `mode: "all"` -> kaikki menee automaattisesti lC$pi.
 * Aseta `mode: "regex"` ja anna esimerkiksi sC$C$nnC6kseksi `"testi|hei"` ->
vain nC$mC$ sanat sisC$ltC$vC$t promptit lipuvat lC$pi itsekseen, loput
jC$C$vC$t haaviin.
 
 
 3. **Kohde-LLM:n vaihto lennosta (`PUT /valvomo/prompts/{prompt_id}/target-llm
`)**: Jos huomaat jonkin odottavan promptin jonossa, voit pC$C$ttC$C$, ettC$
*tC$mC$* tietty kysely ohjataankin oletusmallin sijaan toiselle
LLM-pC$C$tepisteelle ennen sen hyvC$ksymistC$.