Skip to content

Conversation

@TensorNull
Copy link

Summary

Adds CometAPI as an OpenAI‑compatible LLM provider with a curated recommended model list and filtering helpers.

Related issue

#2649

- Updated README.md to include CometAPI quickstart instructions.
- Added CometAPI environment variable to env.example.
- Updated pyproject.toml to include CometAPI as a dependency.
- Implemented CometAPILLMService for LLM interactions with CometAPI.
- Added example script for minimal CometAPI LLM usage.
- Created unit tests for CometAPILLMService utilities.
Copilot AI review requested due to automatic review settings September 25, 2025 08:09
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds CometAPI as an OpenAI-compatible LLM provider to Pipecat, with comprehensive integration including service implementation, model curation utilities, and example usage.

  • Implements CometAPILLMService extending OpenAILLMService with model filtering and recommendation helpers
  • Adds comprehensive test coverage for model utilities and chat model fetching functionality
  • Includes foundational example demonstrating CometAPI integration with environment configuration

Reviewed Changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/pipecat/services/cometapi/llm.py Core CometAPI LLM service implementation with model curation and filtering utilities
src/pipecat/services/cometapi/init.py Module initialization with deprecation proxy setup
tests/test_cometapi_llm_service.py Unit tests for model utilities and chat model fetching functionality
examples/foundational/02a-llm-say-one-thing-cometapi.py Foundational example demonstrating CometAPI usage
src/pipecat/tests/utils.py Test utility improvements for frame queue draining
pyproject.toml Build configuration updates for CometAPI extra and test markers
env.example Environment variable template addition for CometAPI_KEY
README.md Documentation updates with CometAPI quickstart guide
Comments suppressed due to low confidence (1)

tests/test_cometapi_llm_service.py:1

  • Redundant import of asyncio - it's already imported on line 15. Remove this duplicate import.
"""Tests for CometAPILLMService helper utilities.

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@markbackman
Copy link
Contributor

Hello! Sorry for the delayed response. We've just rolled out Community Integrations and we'd like to invite you to submit your integration for listing.

While your integration won't be part of Pipecat's core code, it will be discoverable in the Pipecat docs and fully usable with Pipecat.

Please review the guidelines here and let me know if you have any questions:
https://github.com/pipecat-ai/pipecat/blob/main/COMMUNITY_INTEGRATIONS.md

@TensorNull
Copy link
Author

TensorNull commented Oct 13, 2025

Hello! Sorry for the delayed response. We've just rolled out Community Integrations and we'd like to invite you to submit your integration for listing.

While your integration won't be part of Pipecat's core code, it will be discoverable in the Pipecat docs and fully usable with Pipecat.

Please review the guidelines here and let me know if you have any questions: https://github.com/pipecat-ai/pipecat/blob/main/COMMUNITY_INTEGRATIONS.md

@markbackman

Sorry I’m late. It’s my pleasure, and I really hope to bring CometAPI into Pipecat’s community integration efforts. I’ve read the community integration specification document you published, but I still have a few questions:

  • As an LLM provider, does the community integration require CometAPI to maintain a separate repository?
    • If so, could you provide us with some repositories as references?
      • If not, will the community integration still be carried out by submitting a PR to Pipecat’s official repository?
        • If it is in the form of submitting a PR to Pipecat’s official repository, then I think we can simply remove some unnecessary changes from this PR—keeping only the parts within the red box in the screenshot below and removing all other unnecessary changes.
image

I look forward to your reply.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants