jonathanjordan21 commited on
Commit
ba695cf
·
1 Parent(s): a89645d
Files changed (5) hide show
  1. .gitattributes +1 -1
  2. .gitignore +1 -0
  3. Dockerfile +16 -0
  4. app.py +39 -0
  5. requirements.txt +5 -0
.gitattributes CHANGED
@@ -32,4 +32,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
32
  *.xz filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
32
  *.xz filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ .env
Dockerfile ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker
2
+ # you will also find guides on how best to write your Dockerfile
3
+
4
+ FROM python:3.9
5
+
6
+ RUN useradd -m -u 1000 user
7
+ USER user
8
+ ENV PATH="/home/user/.local/bin:$PATH"
9
+
10
+ WORKDIR /app
11
+
12
+ COPY --chown=user ./requirements.txt requirements.txt
13
+ RUN pip install --no-cache-dir --upgrade -r requirements.txt
14
+
15
+ COPY --chown=user . /app
16
+ CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
app.py ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ #!/usr/bin/env python
3
+ """Example LangChain server exposes a retriever."""
4
+ from fastapi import FastAPI
5
+ from langchain_community.vectorstores import FAISS
6
+ from langchain_community.embeddings import OllamaEmbeddings
7
+
8
+ from langserve import add_routes
9
+
10
+ import os
11
+ from dotenv import load_dotenv
12
+
13
+ load_dotenv()
14
+
15
+ HF_API_KEY = os.getenv('HF_API_KEY')
16
+
17
+ vectorstore = FAISS.from_texts(
18
+ ["cats like fish", "dogs like sticks"], embedding=OllamaEmbeddings(
19
+ model="nomic-embed-text",
20
+ base_url="https://lintasmediadanawa-hf-llm-api.hf.space",
21
+ headers={"Authorization":"Bearer "+HF_API_KEY}
22
+ )
23
+ )
24
+ retriever = vectorstore.as_retriever()
25
+
26
+ app = FastAPI(
27
+ title="LangChain Server",
28
+ version="1.0",
29
+ description="Spin up a simple api server using Langchain's Runnable interfaces",
30
+ )
31
+ # Adds routes to the app for using the retriever under:
32
+ # /invoke
33
+ # /batch
34
+ # /stream
35
+ add_routes(app, retriever)
36
+
37
+ if __name__ == "__main__":
38
+ import uvicorn
39
+ uvicorn.run(app, host="localhost", port=8000)
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ fastapi
2
+ uvicorn[standard]
3
+ langserve[all]
4
+ faiss-cpu
5
+ langchain-community