-
-
Notifications
You must be signed in to change notification settings - Fork 102
[Store][ClickHouse] Make store final readonly
#366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
OskarStark
commented
Aug 29, 2025
Q | A |
---|---|
Bug fix? | no |
New feature? | yes |
Docs? | no |
Issues | -- |
License | MIT |
pentiminax
pushed a commit
to pentiminax/symfony-ai
that referenced
this pull request
Sep 3, 2025
This PR adds support for [Albert API](https://github.com/etalab-ia/albert-api), the French government's sovereign AI gateway. Albert provides an OpenAI-compatible API interface for various language models while ensuring data sovereignty and compliance with French/EU regulations. - 🇫🇷 **Sovereign AI**: Albert is hosted and operated by the French government - 🔧 **OpenAI-compatible**: Uses the same API structure as OpenAI - 🔒 **Data Privacy**: Ensures data remains within French/EU jurisdiction - 🎯 **Public Sector Focus**: Designed for use by French public administration - Created Albert-specific model clients (GPTModelClient and EmbeddingsModelClient) with configurable base URL - Added PlatformFactory for easy Albert API initialization - Reuses OpenAI's response converters for compatibility - Supports both chat completions and embeddings endpoints ```php use PhpLlm\LlmChain\Platform\Bridge\Albert\PlatformFactory; use PhpLlm\LlmChain\Platform\Bridge\OpenAI\GPT; $platform = PlatformFactory::create( apiKey: $_ENV['ALBERT_API_KEY'], albertUrl: $_ENV['ALBERT_API_URL'] ); $model = new GPT('gpt-4o'); $chain = new Chain($platform, $model); ``` - Added unit tests for PlatformFactory - Added example script demonstrating Albert API usage with RAG context - All tests pass and code follows project standards - Updated README to list Albert as a supported platform - Added example file showing how to use Albert API - Included context about French AI strategy in the example This implementation allows French public sector organizations to leverage LLM Chain while maintaining data sovereignty and regulatory compliance. Closes symfony#346
pentiminax
pushed a commit
to pentiminax/symfony-ai
that referenced
this pull request
Sep 3, 2025
This PR was merged into the main branch. Discussion ---------- [Platform] add Albert API support | Q | A | ------------- | --- | Bug fix? | no | New feature? | yes | Docs? | yes | Issues | | License | MIT Cherry picking php-llm/llm-chain#366 Commits ------- 99ce42a feat: add Albert API support (symfony#366)
Hello, I thinks it's a bad idea to mark it as final. For exemple, I override the store, to override some parts: class ClickHouseStore extends SymfonyClickHouseStore
{
public function initialize(array $options = []): void
{
$sql = <<<'SQL'
CREATE TABLE IF NOT EXISTS {{ table }} (
id UUID,
metadata String,
embedding Array(Float32),
crawlId UUID,
-- INDEX embedding_idx embedding TYPE vector_similarity('hnsw', 'cosineDistance', 3072)
) ENGINE = MergeTree()
PRIMARY KEY crawlId
SQL;
$this->execute('POST', $sql);
}
protected function formatVectorDocument(VectorDocument $document): array
{
$formatted = parent::formatVectorDocument($document);
$formatted['crawlId'] = $document->metadata['crawlId'];
return $formatted;
}
} Composition here is not easy, and seems overkill. Could we consider to revert this PR? |
Yes, let's open them up all please, thanks |
OskarStark
added a commit
that referenced
this pull request
Oct 3, 2025
This PR was merged into the main branch. Discussion ---------- [Store] Do not finalize the classes anymore | Q | A | ------------- | --- | Bug fix? | no | New feature? | no | Docs? | no | Issues | Fix #366 (comment) | License | MIT <!-- Replace this notice by a description of your feature/bugfix. This will help reviewers and should be a good start for the documentation. Additionally (see https://symfony.com/releases): - Always add tests and ensure they pass. - For new features, provide some code snippets to help understand usage. - Features and deprecations must be submitted against branch main. - Update/add documentation as required (we can help!) - Changelog entry should follow https://symfony.com/doc/current/contributing/code/conventions.html#writing-a-changelog-entry - Never break backward compatibility (see https://symfony.com/bc). --> Commits ------- 3b89731 [Store] Do not finalize the classes anymore
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.