wrdias's picture
Upload 4 files
13dee23 verified
raw
history blame contribute delete
991 Bytes
from fastapi import FastAPI
from langserve import add_routes
from langchain.chains import ConversationChain
from memory import vectorstore_as_memory
from prompt import PROMPT
from llm import llm
app = FastAPI(title="Retrieval App")
# Initialize the conversation chain with a default memory
memory = vectorstore_as_memory("USER1")
final_chain = ConversationChain(
llm=llm,
prompt=PROMPT,
memory=memory,
verbose=False
)
# Define a function to update the memory associated with the final_chain
def update_memory(username):
memory = vectorstore_as_memory(username)
final_chain.memory = memory
# Define a route to handle API calls
@app.post("/api/{username}")
async def api_endpoint(username: str):
update_memory(username)
return {"message": f"Memory updated successfully with username: {username}"}
# Add routes to the FastAPI app
add_routes(app, final_chain)
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="localhost", port=8000)