Eine KI-gestützte Suchmaschine mit einer generativen Benutzeroberfläche.
Vorsicht
Morphic wurde mit dem Vercel AI SDK RSC erstellt. AI SDK RSC ist experimentell und weist einige Einschränkungen auf. Bei der Verwendung in der Produktion wird die Migration zur SDK-Benutzeroberfläche empfohlen.
Notiz
Bitte beachten Sie, dass es Unterschiede zwischen diesem Repository und der offiziellen Website morphic.sh gibt. Die offizielle Website ist ein Zweig dieses Repositorys mit zusätzlichen Funktionen wie der Authentifizierung, die für die Online-Bereitstellung des Dienstes erforderlich sind. Der Kernquellcode von Morphic befindet sich in diesem Repository und ist so konzipiert, dass er einfach erstellt und bereitgestellt werden kann.
Verzweigen Sie das Repo in Ihr Github-Konto und führen Sie dann den folgenden Befehl aus, um das Repo zu klonen:
git clone [email protected]:[YOUR_GITHUB_ACCOUNT]/morphic.git
cd morphic
bun install
Befolgen Sie die nachstehende Anleitung, um Upstash Redis einzurichten. Erstellen Sie eine Datenbank und rufen Sie UPSTASH_REDIS_REST_URL
und UPSTASH_REDIS_REST_TOKEN
ab. Anweisungen zum weiteren Vorgehen finden Sie im Upstash-Leitfaden.
Wenn Sie beabsichtigen, ein lokales Redis zu verwenden, können Sie diesen Schritt überspringen.
cp .env.local.example .env.local
Ihre .env.local-Datei sollte so aussehen:
# 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
Um die Anwendung lokal mit Bun auszuführen, führen Sie den folgenden Befehl aus:
bun dev
Sie können jetzt http://localhost:3000 in Ihrem Webbrowser aufrufen.
Um die Anwendung mit Docker auszuführen, verwenden Sie den folgenden Befehl:
docker compose up -d
Dadurch wird die Anwendung im getrennten Modus gestartet. Sie können unter http://localhost:3000 darauf zugreifen.
Hosten Sie Ihre eigene Live-Version von Morphic mit Vercel oder Cloudflare Pages.
Wenn Sie Morphic als Suchmaschine in Ihrem Browser verwenden möchten, gehen Sie folgendermaßen vor:
https://morphic.sh/search?q=%s
Dadurch können Sie Morphic als Standardsuchmaschine im Browser verwenden.
Morphic unterstützt jetzt SearXNG als alternatives Such-Backend mit erweiterten Suchfunktionen. So verwenden Sie SearXNG:
Stellen Sie sicher, dass Docker und Docker Compose auf Ihrem System installiert sind.
Legen Sie in Ihrer .env.local
Datei die folgenden Variablen fest:
Im Stammverzeichnis werden zwei Konfigurationsdateien bereitgestellt:
searxng-settings.yml
: Diese Datei enthält die Hauptkonfiguration für SearXNG, einschließlich Engine-Einstellungen und Serveroptionen.searxng-limiter.toml
: Diese Datei konfiguriert die Ratenbegrenzungs- und Bot-Erkennungsfunktionen von SearXNG. Führen Sie docker-compose up
aus, um den Morphic-Stack mit enthaltenem SearXNG zu starten.
SearXNG wird unter http://localhost:8080
verfügbar sein und Morphic wird es als Such-Backend verwenden.
NEXT_PUBLIC_BASE_URL
: Legen Sie dies bei der Bereitstellung auf Ihre lokale Entwicklungs-URL (http://localhost:3000) oder Ihre Produktions-URL fest.SEARXNG_DEFAULT_DEPTH
: Auf „Basic“ oder „Advanced“ einstellen, um die Standardsuchtiefe zu steuern.SEARXNG_MAX_RESULTS
: Maximale Anzahl von Ergebnissen, die von SearXNG zurückgegeben werden sollen.SEARXNG_CRAWL_MULTIPLIER
: Im erweiterten Suchmodus bestimmt dieser Multiplikator, wie viele Ergebnisse gecrawlt werden sollen. Wenn beispielsweise SEARXNG_MAX_RESULTS=10
und SEARXNG_CRAWL_MULTIPLIER=4
sind, werden bis zu 40 Ergebnisse gecrawlt, bevor sie gefiltert und bewertet werden.SEARXNG_ENGINES
: Durch Kommas getrennte Liste der zu verwendenden Suchmaschinen.SEARXNG_TIME_RANGE
: Zeitbereich für Suchergebnisse (z. B. „Tag“, „Woche“, „Monat“, „Jahr“, „alle“).SEARXNG_SAFESEARCH
: Sichere Sucheinstellung (0 für aus, 1 für moderat, 2 für streng).Die erweiterte Suchfunktion umfasst Content-Crawling, Relevanzbewertung und Filterung, um genauere und umfassendere Ergebnisse zu liefern.
searxng-settings.yml
ändern, um bestimmte Suchmaschinen zu aktivieren/deaktivieren, UI-Einstellungen zu ändern oder Serveroptionen anzupassen.searxng-limiter.toml
können Sie die Ratenbegrenzung und die Bot-Erkennung konfigurieren. Dies ist nützlich, wenn Sie SearXNG direkt dem Internet zugänglich machen.docker-compose.yml
oder direkt im SearXNG-Container festlegen. searxng-settings.yml
deaktivieren: engines :
- name : wikidata
disabled : true