Files
GenAIExamples/comps/prompt_registry/mongo/README.md
Hoong Tee, Yeoh 9d566be203 Refine README for chat history, feedback management and prompt registry microservice (#727)
* [chat_history]: Refine README documentation

Signed-off-by: Yeoh, Hoong Tee <hoong.tee.yeoh@intel.com>

* [feedback_management]: Refine README documentation

Signed-off-by: Yeoh, Hoong Tee <hoong.tee.yeoh@intel.com>

* [prompt_registry]: Refine README documentation

Signed-off-by: Yeoh, Hoong Tee <hoong.tee.yeoh@intel.com>

* Fix readme typo

Signed-off-by: Yeoh, Hoong Tee <hoong.tee.yeoh@intel.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Signed-off-by: Yeoh, Hoong Tee <hoong.tee.yeoh@intel.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-09-24 21:49:32 +08:00

2.5 KiB

🧾 Prompt Registry Microservice with MongoDB

This README provides setup guides and all the necessary information about the Prompt Registry microservice with MongoDB database.


Setup Environment Variables

export http_proxy=${your_http_proxy}
export https_proxy=${your_http_proxy}
export MONGO_HOST=${MONGO_HOST}
export MONGO_HOST=27017
export DB_NAME=${DB_NAME}
export COLLECTION_NAME=${COLLECTION_NAME}

🚀Start Microservice with Docker

Build Docker Image

cd ~/GenAIComps
docker build -t opea/promptregistry-mongo-server:latest --build-arg https_proxy=$https_proxy --build-arg http_proxy=$http_proxy -f comps/prompt_registry/mongo/Dockerfile .

Run Docker with CLI

  • Run MongoDB image container

    docker run -d -p 27017:27017 --name=mongo mongo:latest
    
  • Run Prompt Registry microservice

    docker run -d --name="promptregistry-mongo-server" -p 6012:6012 -e http_proxy=$http_proxy -e https_proxy=$https_proxy -e no_proxy=$no_proxy -e MONGO_HOST=${MONGO_HOST} -e MONGO_PORT=${MONGO_PORT} -e DB_NAME=${DB_NAME} -e COLLECTION_NAME=${COLLECTION_NAME} opea/promptregistry-mongo-server:latest
    

Invoke Microservice

The Prompt Registry microservice exposes the following API endpoints:

  • Save prompt

    curl -X 'POST' \
      http://{host_ip}:6012/v1/prompt/create \
      -H 'accept: application/json' \
      -H 'Content-Type: application/json' \
      -d '{
        "prompt_text": "test prompt", "user": "test"
    }'
    
  • Retrieve prompt from database by user

    curl -X 'POST' \
      http://{host_ip}:6012/v1/prompt/get \
      -H 'accept: application/json' \
      -H 'Content-Type: application/json' \
      -d '{
      "user": "test"}'
    
  • Retrieve prompt from database by prompt_id

    curl -X 'POST' \
      http://{host_ip}:6012/v1/prompt/get \
      -H 'accept: application/json' \
      -H 'Content-Type: application/json' \
      -d '{
      "user": "test", "prompt_id":"{prompt_id returned from save prompt route above}"}'
    
  • Retrieve relevant prompt by keyword

    curl -X 'POST' \
      http://{host_ip}:6012/v1/prompt/get \
      -H 'accept: application/json' \
      -H 'Content-Type: application/json' \
      -d '{
      "user": "test", "prompt_text": "{keyword to search}"}'
    
  • Delete prompt by prompt_id

    curl -X 'POST' \
      http://{host_ip}:6012/v1/prompt/delete \
      -H 'accept: application/json' \
      -H 'Content-Type: application/json' \
      -d '{
      "user": "test", "prompt_id":"{prompt_id to be deleted}"}'