생성 UI를 갖춘 AI 기반 검색 엔진입니다.
주의
Morphic은 Vercel AI SDK RSC로 구축되었습니다. AI SDK RSC는 실험적이며 몇 가지 제한사항이 있습니다. 프로덕션에서 사용하는 경우 SDK UI로 마이그레이션하는 것이 좋습니다.
메모
이 저장소와 공식 웹사이트 morphic.sh 사이에는 차이점이 있다는 점에 유의하세요. 공식 웹사이트는 온라인 서비스 제공에 필요한 인증 등의 추가 기능을 갖춘 이 저장소의 포크입니다. Morphic의 핵심 소스 코드는 이 저장소에 있으며 쉽게 구축하고 배포할 수 있도록 설계되었습니다.
리포지토리를 Github 계정으로 포크한 후 다음 명령을 실행하여 리포지토리를 복제합니다.
git clone [email protected]:[YOUR_GITHUB_ACCOUNT]/morphic.git
cd morphic
bun install
Upstash Redis를 설정하려면 아래 가이드를 따르세요. 데이터베이스를 생성하고 UPSTASH_REDIS_REST_URL
및 UPSTASH_REDIS_REST_TOKEN
가져옵니다. 진행 방법에 대한 지침은 Upstash 가이드를 참조하세요.
로컬 Redis를 사용하려는 경우 이 단계를 건너뛸 수 있습니다.
cp .env.local.example .env.local
.env.local 파일은 다음과 같아야 합니다.
# 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
Bun을 사용하여 로컬로 애플리케이션을 실행하려면 다음 명령을 실행합니다.
bun dev
이제 웹 브라우저에서 http://localhost:3000을 방문할 수 있습니다.
Docker를 사용하여 애플리케이션을 실행하려면 다음 명령을 사용하십시오.
docker compose up -d
이렇게 하면 분리 모드에서 애플리케이션이 시작됩니다. http://localhost:3000에서 액세스할 수 있습니다.
Vercel 또는 Cloudflare Pages를 사용하여 Morphic의 라이브 버전을 호스팅하세요.
브라우저에서 Morphic을 검색 엔진으로 사용하려면 다음 단계를 따르세요.
https://morphic.sh/search?q=%s
이렇게 하면 브라우저에서 Morphic을 기본 검색 엔진으로 사용할 수 있습니다.
Morphic은 이제 고급 검색 기능을 갖춘 대체 검색 백엔드로 SearXNG를 지원합니다. SearXNG를 사용하려면:
시스템에 Docker 및 Docker Compose가 설치되어 있는지 확인하십시오.
.env.local
파일에서 다음 변수를 설정합니다.
루트 디렉터리에는 두 가지 구성 파일이 제공됩니다.
searxng-settings.yml
: 이 파일에는 엔진 설정 및 서버 옵션을 포함하여 SearXNG의 기본 구성이 포함되어 있습니다.searxng-limiter.toml
: 이 파일은 SearXNG의 속도 제한 및 봇 감지 기능을 구성합니다. docker-compose up
실행하여 SearXNG가 포함된 Morphic 스택을 시작하세요.
SearXNG는 http://localhost:8080
에서 사용할 수 있으며 Morphic은 이를 검색 백엔드로 사용합니다.
NEXT_PUBLIC_BASE_URL
: 배포 시 로컬 개발 URL(http://localhost:3000) 또는 프로덕션 URL로 설정합니다.SEARXNG_DEFAULT_DEPTH
: 기본 검색 깊이를 제어하려면 'basic' 또는 'advanced'로 설정하세요.SEARXNG_MAX_RESULTS
: SearXNG에서 반환할 최대 결과 수입니다.SEARXNG_CRAWL_MULTIPLIER
: 고급 검색 모드에서 이 승수는 크롤링할 결과 수를 결정합니다. 예를 들어 SEARXNG_MAX_RESULTS=10
및 SEARXNG_CRAWL_MULTIPLIER=4
인 경우 필터링 및 순위 지정 전에 최대 40개의 결과가 크롤링됩니다.SEARXNG_ENGINES
: 사용할 검색 엔진의 쉼표로 구분된 목록입니다.SEARXNG_TIME_RANGE
: 검색 결과의 시간 범위(예: '일', '주', '월', '년', '전체').SEARXNG_SAFESEARCH
: 안전 검색 설정(0은 해제, 1은 보통, 2는 엄격).고급 검색 기능에는 보다 정확하고 포괄적인 결과를 제공하기 위한 콘텐츠 크롤링, 관련성 점수 및 필터링이 포함되어 있습니다.
searxng-settings.yml
수정하여 특정 검색 엔진을 활성화/비활성화하고, UI 설정을 변경하거나, 서버 옵션을 조정할 수 있습니다.searxng-limiter.toml
파일을 사용하면 속도 제한 및 봇 감지를 구성할 수 있습니다. 이는 SearXNG를 인터넷에 직접 노출하는 경우 유용합니다.docker-compose.yml
파일의 환경 변수를 사용하거나 SearXNG 컨테이너에서 직접 이러한 옵션을 설정할 수 있습니다. searxng-settings.yml
에서 해당 엔진을 비활성화할 수 있습니다. engines :
- name : wikidata
disabled : true