code: #!/usr/bin/env python
  """Example LangChain server exposes a retriever."""
  from fastapi import FastAPI
  from langchain.embeddings import OpenAIEmbeddings
  from langchain.vectorstores import FAISS
  
  from langserve import add_routes
  
  vectorstore = FAISS.from_texts(
      ["cats like fish", "dogs like sticks"], embedding=OpenAIEmbeddings()
  )
  retriever = vectorstore.as_retriever()
  
  app = FastAPI(
      title="LangChain Server",
      version="1.0",
      description="Spin up a simple api server using Langchain's Runnable interfaces",
  )
  # Adds routes to the app for using the retriever under:
  # /invoke
  # /batch
  # /stream
  add_routes(app, retriever)
  
  if __name__ == "__main__":
      import uvicorn
  
      uvicorn.run(app, host="localhost", port=8000)
  
apis: langchain.embeddings.OpenAIEmbeddings
extract_api: [((381, 515), 'fastapi.FastAPI', 'FastAPI', ([], {'title': '"""LangChain Server"""', 'version': '"""1.0"""', 'description': '"""Spin up a simple api server using Langchain\'s Runnable interfaces"""'}), '(title=\'LangChain Server\', version=\'1.0\', description=\n    "Spin up a simple api server using Langchain\'s Runnable interfaces")\n', (388, 515), False, 'from fastapi import FastAPI\n'), ((611, 637), 'langserve.add_routes', 'add_routes', (['app', 'retriever'], {}), '(app, retriever)\n', (621, 637), False, 'from langserve import add_routes\n'), ((690, 735), 'uvicorn.run', 'uvicorn.run', (['app'], {'host': '"""localhost"""', 'port': '(8000)'}), "(app, host='localhost', port=8000)\n", (701, 735), False, 'import uvicorn\n'), ((314, 332), 'langchain.embeddings.OpenAIEmbeddings', 'OpenAIEmbeddings', ([], {}), '()\n', (330, 332), False, 'from langchain.embeddings import OpenAIEmbeddings\n')]