dog commited on
Commit
9a39434
1 Parent(s): 0a46fab

🍻 cheers

Browse files
Dockerfile ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Use the official Python 3.9 image
2
+ FROM python:3.9
3
+
4
+ # Set the working directory to /code
5
+ WORKDIR /code
6
+
7
+ # Copy the current directory contents into the container at /code
8
+ COPY ./requirements.txt /code/requirements.txt
9
+
10
+ # Install requirements.txt
11
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
12
+
13
+ # Set up a new user named "user" with user ID 1000
14
+ RUN useradd -m -u 1000 user
15
+ # Switch to the "user" user
16
+ USER user
17
+ # Set home to the user's home directory
18
+ ENV HOME=/home/user \
19
+ PATH=/home/user/.local/bin:$PATH
20
+
21
+ # Set the working directory to the user's home directory
22
+ WORKDIR $HOME/app
23
+
24
+ # Copy the current directory contents into the container at $HOME/app setting the owner to the user
25
+ COPY --chown=user . $HOME/app
26
+
27
+ CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
README.md ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Custom Pipeline
2
+
3
+ This example shows how to serve any model you want by using a custom pipeline.
4
+
5
+ ## Running the Server
6
+
7
+ Get into this example's directory:
8
+
9
+ ```
10
+ cd examples/custom_pipeline
11
+ ```
12
+
13
+ Run the server:
14
+
15
+ ```
16
+ uvicorn main:app --reload --port 8000
17
+ ```
18
+
19
+ ## Client
20
+
21
+ ```python
22
+ from closedai import openai
23
+
24
+ completion = openai.Completion.create(model='asdf', prompt='hi there, my name is')
25
+ # >>> completion.choices[0].text
26
+ # ', and 0 (test), and 1 (test), and 2 (test), and 3 (test), and 4 (test)'
27
+ ```
__pycache__/app.cpython-38.pyc ADDED
Binary file (921 Bytes). View file
 
__pycache__/main.cpython-38.pyc ADDED
Binary file (911 Bytes). View file
 
main.py ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import time
2
+
3
+ from closedai import ClosedAIPipeline
4
+ from closedai.server import app, data # noqa
5
+
6
+
7
+ class MyPipeline(ClosedAIPipeline):
8
+ def __init__(self, **kwargs):
9
+ super().__init__(**kwargs)
10
+
11
+ def generate_completion(self, text, **kwargs):
12
+ for i in range(5):
13
+ yield f", and {i} (test)"
14
+ time.sleep(1)
15
+
16
+
17
+ pipeline = MyPipeline()
18
+ data["pipeline"] = pipeline
requirements.txt ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ git+https://github.com/huggingface/transformers@e577bd0f13e1820650810f6864253d70dc76ce08#egg=transformers
2
+ git+https://github.com/nateraw/closedai@main#egg=closedai
3
+ fastapi==0.74.*
4
+ requests==2.27.*
5
+ sentencepiece==0.1.*
6
+ torch==1.11.*
7
+ uvicorn[standard]==0.17.*
8
+ openai
9
+ fire