|
from fastapi import FastAPI, HTTPException, Request |
|
import requests |
|
|
|
app = FastAPI() |
|
|
|
API_URL = "https://curated.aleph.cloud/vm/b950fef19b109ef3770c89eb08a03b54016556c171b9a32475c085554b594c94/completion" |
|
|
|
def generate_text(prompt): |
|
params = { |
|
"prompt": prompt, |
|
"temperature": 0.8, |
|
"top_p": 1, |
|
"top_k": 40, |
|
"n": 1, |
|
"n_predict": -1, |
|
"stop": [] |
|
} |
|
response = requests.post(API_URL, json=params) |
|
if response.status_code == 200: |
|
return response.json()['content'] |
|
else: |
|
return None, response.status_code |
|
|
|
@app.post('/generate-response') |
|
async def generate_response(request: Request): |
|
data = await request.json() |
|
prompt = data.get('prompt') |
|
if not prompt: |
|
raise HTTPException(status_code=400, detail="Prompt is missing") |
|
|
|
response_text, status_code = generate_text(prompt) |
|
if response_text is None: |
|
raise HTTPException(status_code=status_code, detail="Failed to generate response") |
|
|
|
return {'response': response_text} |
|
|