Un moteur de recherche alimenté par l'IA avec une interface utilisateur générative.
Prudence
Morphic est construit avec Vercel AI SDK RSC. AI SDK RSC est expérimental et présente certaines limites. Lors de son utilisation en production, il est recommandé de migrer vers l'interface utilisateur du SDK.
Note
Veuillez noter qu'il existe des différences entre ce référentiel et le site officiel morphic.sh. Le site officiel est un fork de ce référentiel avec des fonctionnalités supplémentaires telles que l'authentification, nécessaires pour fournir le service en ligne. Le code source principal de Morphic réside dans ce référentiel et il est conçu pour être facilement construit et déployé.
Forkez le dépôt sur votre compte Github, puis exécutez la commande suivante pour cloner le dépôt :
git clone [email protected]:[YOUR_GITHUB_ACCOUNT]/morphic.git
cd morphic
bun install
Suivez le guide ci-dessous pour configurer Upstash Redis. Créez une base de données et obtenez UPSTASH_REDIS_REST_URL
et UPSTASH_REDIS_REST_TOKEN
. Reportez-vous au guide Upstash pour savoir comment procéder.
Si vous avez l'intention d'utiliser un Redis local, vous pouvez ignorer cette étape.
cp .env.local.example .env.local
Votre fichier .env.local devrait ressembler à ceci :
# OpenAI API key retrieved here: https://platform.openai.com/api-keys
OPENAI_API_KEY=
# Tavily API Key retrieved here: https://app.tavily.com/home
TAVILY_API_KEY=
# Upstash Redis URL and Token retrieved here: https://console.upstash.com/redis
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
## Redis Configuration
This application supports both Upstash Redis and local Redis. To use local Redis:
1. Set `USE_LOCAL_REDIS=true` in your `.env.local` file.
2. Optionally, set `LOCAL_REDIS_URL` if your local Redis is not running on the default `localhost:6379` or `redis://redis:6379` if you're using docker compose.
To use Upstash Redis:
1. Set `USE_LOCAL_REDIS=false` or leave it unset in your `.env.local` file.
2. Set `UPSTASH_REDIS_REST_URL` and `UPSTASH_REDIS_REST_TOKEN` with your Upstash credentials.
# SearXNG Configuration
SEARXNG_API_URL=http://localhost:8080 # Replace with your local SearXNG API URL or docker http://searxng:8080
SEARCH_API=tavily # use searxng, tavily or exa
SEARXNG_SECRET="" # generate a secret key e.g. openssl rand -base64 32
SEARXNG_PORT=8080 # default port
SEARXNG_BIND_ADDRESS=0.0.0.0 # default address
SEARXNG_IMAGE_PROXY=true # enable image proxy
SEARXNG_LIMITER=false # can be enabled to limit the number of requests per IP address
SEARXNG_DEFAULT_DEPTH=basic # Set to 'basic' or 'advanced', only affects SearXNG searches
SEARXNG_MAX_RESULTS=50 # Maximum number of results to return from SearXNG
Pour exécuter l'application localement à l'aide de Bun, exécutez la commande suivante :
bun dev
Vous pouvez maintenant visiter http://localhost:3000 dans votre navigateur Web.
Pour exécuter l'application à l'aide de Docker, utilisez la commande suivante :
docker compose up -d
Cela démarrera l'application en mode détaché. Vous pouvez y accéder sur http://localhost:3000.
Hébergez votre propre version live de Morphic avec Vercel ou Cloudflare Pages.
Si vous souhaitez utiliser Morphic comme moteur de recherche dans votre navigateur, suivez ces étapes :
https://morphic.sh/search?q=%s
Cela vous permettra d'utiliser Morphic comme moteur de recherche par défaut dans le navigateur.
Morphic prend désormais en charge SearXNG comme moteur de recherche alternatif avec des capacités de recherche avancées. Pour utiliser SearXNG :
Assurez-vous que Docker et Docker Compose sont installés sur votre système.
Dans votre fichier .env.local
, définissez les variables suivantes :
Deux fichiers de configuration sont fournis dans le répertoire racine :
searxng-settings.yml
: Ce fichier contient la configuration principale de SearXNG, y compris les paramètres du moteur et les options du serveur.searxng-limiter.toml
: Ce fichier configure les fonctionnalités de limitation de débit et de détection de robots de SearXNG. Exécutez docker-compose up
pour démarrer la pile Morphic avec SearXNG inclus.
SearXNG sera disponible sur http://localhost:8080
et Morphic l'utilisera comme moteur de recherche.
NEXT_PUBLIC_BASE_URL
: définissez ceci sur votre URL de développement local (http://localhost:3000) ou votre URL de production lors du déploiement.SEARXNG_DEFAULT_DEPTH
: défini sur "de base" ou "avancé" pour contrôler la profondeur de recherche par défaut.SEARXNG_MAX_RESULTS
: Nombre maximum de résultats à renvoyer depuis SearXNG.SEARXNG_CRAWL_MULTIPLIER
: En mode de recherche avancée, ce multiplicateur détermine le nombre de résultats à explorer. Par exemple, si SEARXNG_MAX_RESULTS=10
et SEARXNG_CRAWL_MULTIPLIER=4
, jusqu'à 40 résultats seront explorés avant le filtrage et le classement.SEARXNG_ENGINES
: Liste des moteurs de recherche à utiliser, séparés par des virgules.SEARXNG_TIME_RANGE
: plage de temps pour les résultats de recherche (par exemple, "jour", "semaine", "mois", "année", "tous").SEARXNG_SAFESEARCH
: paramètre de recherche sécurisée (0 pour désactivé, 1 pour modéré, 2 pour strict).La fonctionnalité de recherche avancée comprend l'exploration du contenu, l'évaluation de la pertinence et le filtrage pour fournir des résultats plus précis et plus complets.
searxng-settings.yml
pour activer/désactiver des moteurs de recherche spécifiques, modifier les paramètres de l'interface utilisateur ou ajuster les options du serveur.searxng-limiter.toml
vous permet de configurer la limitation de débit et la détection des robots. Ceci est utile si vous exposez SearXNG directement à Internet.docker-compose.yml
ou directement dans le conteneur SearXNG. searxng-settings.yml
: engines :
- name : wikidata
disabled : true