Created by team Ai Pathfinder, WINNER of the September 2024 Spryker Hackathon.
Semantic search on the user intent. Similar to AI Algolia but way cheaper.
The team implemented multilingual semantic search, ensuring precise matches across languages. A well-organized team contributed significantly to the success, impressing the jury with the accuracy and relevance of the results.
xxx
-
To generate Gemini Api key click here
-
Setup a Pinecone SaaS account click here
-
Setup env variable:
- GEMINI_API_KEY with key or add key in config/shared/config_default.php
$config[AiAnythingEmbeddingConstants::GEMINI_API_KEY] = 'api_key';
- GEMINI_API_URL with API endpoint and model except API Key or add key in config/shared/config_default.php
$config[AiAnythingEmbeddingConstants::GEMINI_API_URL] = 'api_url';
- PINECONE_API_KEY with key or add key in config/shared/config_default.php
$config[PineconeConstants::PINECONE_API_KEY] = 'api_key';
-
PINECONE_API_VERSION with key or add key in config/shared/config_default.php
$config[PineconeConstants::PINECONE_API_VERSION] = 'api_version';
-
PINECONE_INDEX_URL with API endpoint or add key in config/shared/config_default.php
$config[AiAnythingEmbeddingConstants::PINECONE_INDEX_URL] = 'api_url';
-
- delete your ELS index (
console elasticsearch:index:delete
) and rebuild it (console search:setup
) - re-sync your data to ELS (
console sync:data
) - add the QueryExpanderPlugin (
\Pyz\Client\AiAnythingSearch\Plugin\Catalog\UserIntentQueryExpanderPlugin
) to\Pyz\Client\Catalog\CatalogDependencyProvider
- add the PublisherPlugin (
xx
) to\Pyz\Zed\Publisher\PublisherDependencyProvider
-
clone the repository in your local
git clone [email protected]:spryker-community/ai-anything-search.git
-
clone docker sdk
git clone https://github.com/spryker/docker-sdk.git --single-branch docker
-
bootstrap the project
docker/sdk bootstrap deploy.dev.yml
-
start the project
docker/sdk up
if you come across any installation error, please run following command:
docker/sdk reset
caution: if you run this command, all the data stored in your spryker docker volumes will be destroyed.
- xxx