Files
Agents/agent_api/main.py
T
TimHoogervorst 1d477c379b
Build and Push Agent API / build (push) Successful in 6s
correct endpoint now
2026-05-10 16:08:32 +02:00

84 lines
1.8 KiB
Python

from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel
from .core.llm import client
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
class ChatRequest(BaseModel):
message: str
session_id: str | None = None
def run_agent(message: str, session_id: str | None = None):
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": "You are a helpful agent."},
{"role": "user", "content": message}
]
)
return response.choices[0].message.content
@app.get("/")
def root():
return {"status": "ok"}
@app.post("/chat")
def chat(req: ChatRequest):
response = run_agent(req.message, req.session_id)
return {
"response": response,
"session_id": req.session_id
}
@app.get("/v1/models")
def list_models():
return {
"object": "list",
"data": [
{
"id": "agent-model",
"object": "model",
"created": 0,
"owned_by": "local-agent"
}
]
}
@app.get("/models")
def legacy_models():
return list_models()
@app.post("/chat/completions")
def chat_completions(req: dict):
messages = req["messages"]
user_message = messages[-1]["content"]
response = run_agent(user_message)
return {
"id": "chatcmpl-local",
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": response
}
}
]
}