jrmccluskey opened a new pull request, #35498: URL: https://github.com/apache/beam/pull/35498
Change introduces an OpenAIModelHandler to enable sending inference requests to OpenAI's API (e.g., GPT models) via the RunInference transform. Key changes: - Added `OpenAIModelHandler` in `sdks/python/apache_beam/ml/inference/openai_inference.py`. - Implemented request generation and response parsing for both completion and chat-based OpenAI models within the `generate_completion` helper function. - Included retry logic for common OpenAI API errors (rate limits, server errors). - Added comprehensive unit tests in `sdks/python/apache_beam/ml/inference/openai_inference_test.py`, mocking the OpenAI client and testing various scenarios. All unit tests pass. - Created integration tests in `sdks/python/apache_beam/ml/inference/openai_inference_it_test.py` (requires `OPENAI_API_KEY` to run). - Defined dependencies in `sdks/python/apache_beam/ml/inference/openai_tests_requirements.txt This PR was initially generated by Jules then manually cleaned up (removing unused imports, unnecessary code comments, formatting changes.) ------------------------ Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] Mention the appropriate issue in your description (for example: `addresses #123`), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment `fixes #<ISSUE NUMBER>` instead. - [ ] Update `CHANGES.md` with noteworthy changes. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). See the [Contributor Guide](https://beam.apache.org/contribute) for more tips on [how to make review process smoother](https://github.com/apache/beam/blob/master/CONTRIBUTING.md#make-the-reviewers-job-easier). To check the build health, please visit [https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md) GitHub Actions Tests Status (on master branch) ------------------------------------------------------------------------------------------------ [](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule) [](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule) [](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule) [](https://github.com/apache/beam/actions?query=workflow%3A%22Go+tests%22+branch%3Amaster+event%3Aschedule) See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more information about GitHub Actions CI or the [workflows README](https://github.com/apache/beam/blob/master/.github/workflows/README.md) to see a list of phrases to trigger workflows. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@beam.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org