Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Ai Open Ai Platform

Ai Open Ai Platform Laravel Package

symfony/ai-open-ai-platform

Symfony integration for OpenAI Platform APIs, providing ready-to-use clients and tooling for text and chat generation, embeddings, and related AI features. Designed to fit Symfony apps with clean configuration and predictable HTTP handling.

View on GitHub
Deep Wiki
Context7

OpenAI platform bridge for Symfony AI

Frequently asked questions about Ai Open Ai Platform
Can I use symfony/ai-open-ai-platform in a Laravel app, or is it strictly for Symfony?
This package is designed for Symfony, not Laravel. However, you can integrate it into Laravel via Symfony’s HTTP client or by wrapping it in a Laravel service provider. For native Laravel support, consider alternatives like `guzzlehttp/guzzle` with OpenAI’s API directly or Laravel-specific packages like `spatie/laravel-openai-api`.
How do I install and configure this package in a Symfony project?
Install via Composer: `composer require symfony/ai-open-ai-platform`. Configure it in `config/packages/symfony_ai.yaml` with your OpenAI API key, specifying the models and services you need (e.g., `chat_completion`, `embeddings`). Use Symfony’s dependency injection to autowire clients like `ChatCompletionClientInterface`.
What Laravel versions or PHP versions does this package support?
This package is **not Laravel-compatible**—it’s built for Symfony 6.4+ and requires PHP 8.2+. For Laravel, ensure your PHP version matches (8.2+) and use Laravel’s HTTP client or a dedicated Laravel package. Symfony’s ecosystem is separate, so Laravel-specific features (e.g., Eloquent) won’t integrate directly.
Does this package support streaming responses for chat completions or embeddings?
Yes, it includes `DeltaInterface` for streaming responses (e.g., real-time chat completions). Use Symfony’s `HttpClient` with streaming enabled and handle events via the `StreamingResponseHandler`. For embeddings, streaming isn’t natively supported by OpenAI, but you can implement custom logic for batch processing.
How do I handle API rate limits or retries in production?
Symfony’s `HttpClient` supports retries and rate-limiting middleware. Configure it in your `config/packages/http_client.yaml` to retry failed requests (e.g., 429 Too Many Requests) with exponential backoff. For critical production use, combine this with Symfony Messenger for async retries or a fallback queue system.
Can I switch between OpenAI and another provider (e.g., Mistral or Azure) without rewriting code?
The `Provider` abstraction (v0.8.0+) enables model routing, but switching providers entirely requires extending the package or creating a custom bridge. For example, you’d need to implement `ChatCompletionClientInterface` for Mistral. The package itself is OpenAI-specific, so multi-cloud support isn’t built-in.
How do I test this package in a Laravel-like environment (e.g., mocking API responses)?
Use Symfony’s `HttpClientMock` to simulate OpenAI API responses in PHPUnit tests. For Laravel, mock the Symfony client via a facade or service container alias. Test edge cases like rate limits by injecting custom responses with `HttpClient::createMock()`. Avoid hitting OpenAI’s API in CI/CD pipelines.
Are there security risks with API keys or user inputs in production?
Store API keys in Symfony’s `parameter_bag` or environment variables (never hardcode). Sanitize user inputs to prevent prompt injection (e.g., jailbreak attacks or costly prompts). For PII, avoid sending sensitive data to OpenAI unless compliant with GDPR/CCPA. Use Symfony’s Vault component for encrypted secrets in production.
What’s the best way to monitor API costs or token usage in a Symfony app?
Log `token_usage` from API responses and track usage in a database or monitoring tool (e.g., Prometheus). Implement a custom middleware to validate costs against a budget threshold. OpenAI’s API doesn’t provide built-in cost monitoring, so this requires custom logic.
Are there alternatives to this package for Laravel that offer similar features?
For Laravel, consider `spatie/laravel-openai-api` (simpler, Laravel-native) or `guzzlehttp/guzzle` with OpenAI’s API directly. If you need Symfony’s features (e.g., DI, streaming), you’d have to build a Laravel-compatible wrapper. Symfony’s package is more feature-rich but not Laravel-compatible.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky