ai_agent / api /main.py
Rajratan Gulab More
'this'
0bc3286
Raw History Blame Contribute Delete
955 Bytes
from pydantic import BaseModel
from typing import List
from ai_agent import get_response_from_ai_agent
class RequestState(BaseModel):
model_name: str
model_provider: str
system_prompt: str
messages: List[str]
allow_search: bool
from fastapi import FastAPI
app=FastAPI(title='LangGraph AI Agent')
ALLOWED_MODEL_NAMES=["llama3-70b-8192", "mixtral-8x7b-32768", "llama-3.3-70b-versatile", "gpt-4o-mini"]
@app.post('/chat')
def chat_endpoint(request: RequestState):
if request.model_name not in ALLOWED_MODEL_NAMES:
return {'error': 'Invalid model name'}
response =get_response_from_ai_agent(
llm_id=request.model_name,
query=request.messages,
allow_search=request.allow_search,
system_prompt=request.system_prompt,
provider=request.model_provider
)
return response
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host='127.0.0.1', port=8000)