diff --git a/.github/workflows/publish_sub_package.yml b/.github/workflows/publish_sub_package.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a24bea816bb60f07ee3e1bc23c142b9bb82b7ba9
--- /dev/null
+++ b/.github/workflows/publish_sub_package.yml
@@ -0,0 +1,43 @@
+name: Publish Sub-Package to PyPI if Needed
+
+on:
+  push:
+    branches:
+      - main
+  pull_request:
+
+env:
+  POETRY_VERSION: "1.6.1"
+  PYTHON_VERSION: "3.10"
+
+jobs:
+  publish_subpackage_if_needed:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          fetch-depth: 0
+      - name: Set up python ${{ env.PYTHON_VERSION }}
+        uses: actions/setup-python@v4
+        with:
+          python-version: ${{ env.PYTHON_VERSION }}
+      - name: Install Poetry
+        uses: snok/install-poetry@v1
+        with:
+          version: ${{ env.POETRY_VERSION }}
+      - name: Get changed pyproject files
+        id: changed-files
+        run: |
+          echo "changed_files=$(git diff --name-only ${{ github.event.before }} ${{ github.event.after }} | grep -v llama-index-core | grep llama-index | grep pyproject | xargs)" >> $GITHUB_OUTPUT
+      - name: Publish changed packages
+        env:
+          PYPI_TOKEN: ${{ secrets.LLAMA_INDEX_PYPI_TOKEN }}
+        run: |
+          for file in ${{ steps.changed-files.outputs.changed_files }}; do
+              cd `echo $file | sed 's/\/pyproject.toml//g'`
+              poetry lock
+              poetry shell
+              poetry install
+              poetry config pypi-token.pypi $PYPI_TOKEN
+              poetry publish --build
+          done
diff --git a/llama-index-integrations/llms/llama-index-llms-openai/pyproject.toml b/llama-index-integrations/llms/llama-index-llms-openai/pyproject.toml
index 1319956ecd56748d2fdfbe2c673f49a0b8c36af7..ab1e6f78eac81b3c7cdc5ed9dcf918a4ae38ca2f 100644
--- a/llama-index-integrations/llms/llama-index-llms-openai/pyproject.toml
+++ b/llama-index-integrations/llms/llama-index-llms-openai/pyproject.toml
@@ -29,7 +29,7 @@ exclude = ["**/BUILD"]
 license = "MIT"
 name = "llama-index-llms-openai"
 readme = "README.md"
-version = "0.1.6"
+version = "0.1.7"
 
 [tool.poetry.dependencies]
 python = ">=3.8.1,<4.0"