Skip to content

Commit

Permalink
add simple chatbot definition
Browse files Browse the repository at this point in the history
Signed-off-by: sallyom <[email protected]>
  • Loading branch information
sallyom committed Nov 5, 2024
1 parent b4cb233 commit caa2cfe
Show file tree
Hide file tree
Showing 6 changed files with 102 additions and 0 deletions.
30 changes: 30 additions & 0 deletions chatbot/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
## Simple chatbot

This folder holds the resource definitions to launch a chatbot given a `MODEL_ENDPOINT` and `MODEL_ENDPOINT_BEARER`.

Update the deployment as necessary and
run this from the root of the repository


```bash
oc apply --kustomize ./chatbot
```

TODO:
- get `MODEL_ENDPOINT` from configmap or secret. Currently you need to update it in deployment.yaml

### Chatbot

The chatbot image is built from
[ai-lab-recipes repository chatbot](https://github.com/containers/ai-lab-recipes/blob/main/recipes/natural_language_processing/chatbot/app/Containerfile)
with the below system prompt line from
[chatbot_ui.py](https://github.com/containers/ai-lab-recipes/blob/main/recipes/natural_language_processing/chatbot/app/chatbot_ui.py)
commented out, since it's not compatible with vLLM:

```bash
prompt = ChatPromptTemplate.from_messages([
#("system", "You are world class technical advisor."),
MessagesPlaceholder(variable_name="history"),
("user", "{input}")
])
```
33 changes: 33 additions & 0 deletions chatbot/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: chatbot
labels:
app: chatbot
spec:
replicas: 1
selector:
matchLabels:
app: chatbot
template:
metadata:
labels:
app: chatbot
spec:
serviceAccountName: chatbot-sa
containers:
- name: chatbot-inference
image: quay.io/sallyom/chatbot:latest
env:
- name: MODEL_ENDPOINT
# Update this value to the endpoint of a running model server
value: https://candidatemodel-server-example/v1
- name: MODEL_ENDPOINT_BEARER
valueFrom:
secretKeyRef:
name: judge-server
key: api_key
ports:
- containerPort: 8501
securityContext:
runAsNonRoot: true
8 changes: 8 additions & 0 deletions chatbot/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- deployment.yaml
- service.yaml
- route.yaml
- sa.yaml
14 changes: 14 additions & 0 deletions chatbot/route.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: route.openshift.io/v1
kind: Route
metadata:
name: chatbot
labels:
app: chatbot
spec:
to:
kind: Service
name: chatbot-service
port:
targetPort: 8501
tls:
termination: edge
4 changes: 4 additions & 0 deletions chatbot/sa.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: chatbot-sa
13 changes: 13 additions & 0 deletions chatbot/service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: chatbot-service
labels:
app: chatbot
spec:
selector:
app: chatbot
ports:
- protocol: TCP
port: 8501
targetPort: 8501

0 comments on commit caa2cfe

Please sign in to comment.