Deploy Seeker search augmented conversational AI on Kubernetes in 5 minutes

louis030195
3 min readApr 14, 2022

Seeker is

  • A modular Language Model (LM) that uses a search engine to stay relevant and up-to-date.
  • The method is a single transformer that is called iteratively to generate: (i) a search query, (ii) a knowledge sequence, (iii) and a final response.
  • When applied to dialogue, it is superior to BlenderBot 2 in terms of consistency, knowledge, factual correctness, and per-turn engagingness.
  • When applied to language modeling, it hallucinates less and is more topical than either GPT2 or GPT3, despite having far fewer parameters.
https://arxiv.org/abs/2203.13224

Deploiment

We will use https://github.com/langa-me/helm-charts Helm chart to deploy both the online retrieval API used by Seeker and Seeker itself on Kubernetes.

Unfortunately, the current search API code is not open-sourced, yet, some work needs to be done to make it publicly releasable, but you can still use the Docker image in the meantime.

Deploy the search API that the bot will query:

helm install parlai-search langa-me/parlai-search --set image.repository=langameai/search-engine -n parlai --create-namespace

Here we use Langame search API Docker image.

Write a Dockerfile for the bot:

Build and push to your favorite registry

VERSION="0.0.1"
REGISTRY="my_registry"
docker buildx build -t ${REGISTRY}:${VERSION} -t ${REGISTRY}:latest --platform linux/amd64 . -f ./Dockerfiledocker push ${REGISTRY}:${VERSION}
docker push ${REGISTRY}:latest

If you pushed to a public registry, you can skip the following step.

Setting up your Kubernetes namespace to be able to pull from your (private?) registry (OVHCloud or Google Cloud here)

Prepare the Helm configuration used by the bot

Adjust according to your settings and run:

helm install parlai langa-me/parlai -f kubernetes_seeker_400m.yaml --create-namespace -n parlai

Now forward the bot port to your computer:

kubectl get pods -n parlai
kubectl port-forward MY_POD_NAME 8083:80

You can use https://github.com/vi/websocat to start talking to the bot through the WebSocket πŸ˜‡.

websocat ws://localhost:8083

Seeker is used in Langame, AI-augmented conversation, join Langame Discord, or install Langame Discord bot in your community β†’ https://langa.me.

By the way, Langame can talk in any language, check the /setup command πŸ˜›.

Have a great day πŸ˜‡

--

--