Spaces:
Sleeping
Sleeping
from fastapi import FastAPI | |
from fastapi.responses import RedirectResponse | |
from langserve import add_routes | |
from langchain.prompts import ChatPromptTemplate | |
from langchain.chat_models import ChatOpenAI | |
from dotenv import load_dotenv | |
from langchain_google_genai import ChatGoogleGenerativeAI | |
load_dotenv() | |
import os | |
api_url = os.getenv('PROXY_URL') + os.getenv('PROXY_PREFIX') | |
app = FastAPI( | |
title="Mav AI API", | |
version="1.0", | |
description="A simple api server using Langchain's Runnable interfaces", | |
root_path_in_servers=True, | |
root_path=api_url, | |
debug=True, | |
) | |
async def root(): | |
# return json response | |
return {"message": "MAV API is up and running!"} | |
add_routes( | |
path = "/openai", | |
app = app, | |
runnable= ChatOpenAI(model="gpt-4-1106-preview"), | |
disabled_endpoints=["playground"] | |
) | |
add_routes( | |
path = "/google", | |
app = app, | |
runnable= ChatGoogleGenerativeAI(model="gemini-pro"), | |
disabled_endpoints=["playground"] | |
) | |
if __name__ == "__main__": | |
import uvicorn | |
uvicorn.run(app, host="localhost", port=7860, root_path=api_url) | |