Update server.py

This commit is contained in:
groupuser 2025-04-22 23:58:34 +00:00
parent e80f4d0e1e
commit db130ab6c0

@ -1,63 +1,35 @@
#!/usr/bin/env python from pydantic import BaseModel, Field
"""Example LangChain server exposes multiple runnables (LLMs in this case)."""
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.responses import RedirectResponse from fastapi.responses import RedirectResponse
from langchain_anthropic import ChatAnthropic
from langchain_openai import ChatOpenAI
from langchain_google_genai import ChatGoogleGenerativeAI
from langserve import add_routes from langserve import add_routes
from chain import build_chain
import mlflow # Input API
class QueryInput(BaseModel):
"""쿼리 입력 모델"""
question: str = Field(..., description="사용자 질문")
temperature: float = 0.7
max_tokens: int = 1000
import getpass app = FastAPI()
import os
os.environ["OPENAI_API_KEY"] = "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" rag_chain = build_chain()
os.environ["GOOGLE_API_KEY"] = "AIzaSyDIO5PFKRV-kVjNzpsrOcC-KodUMO-VGAo"
mlflow.set_tracking_uri("http://localhost:5000")
mlflow.langchain.autolog()
app = FastAPI(
title="LangChain Server",
version="1.0",
description="Spin up a simple api server using Langchain's Runnable interfaces",
)
llm = ChatGoogleGenerativeAI(
model="gemini-2.0-flash-001",
temperature=0,
max_tokens=None,
timeout=None,
max_retries=2,
# other params...
)
openai_llm = ChatOpenAI(
model="gpt-4o",
temperature=0,
max_tokens=None,
timeout=None,
max_retries=2,
# api_key="...", # if you prefer to pass api key in directly instaed of using env vars
# base_url="...",
# organization="...",
# other params...
)
add_routes(
app,
llm,
path="/gemeni",
)
@app.get("/") @app.get("/")
async def redirect_root_to_docs(): async def redirect_root_to_docs():
return RedirectResponse("/gemeni/playground") return RedirectResponse("/chat")
# Edit this to add the chain you want to add
add_routes(
app,
rag_chain,
path="/chat",
input_type=QueryInput
)
if __name__ == "__main__": if __name__ == "__main__":
import uvicorn import uvicorn
uvicorn.run(app, host="0.0.0.0", port=9000) uvicorn.run(app, host="0.0.0.0", port=8000)