This guide covers the optional features and their configuration in Morphic.
Follow the detailed setup guide at Building your own RAG chatbot with Upstash
- Create a database at Upstash Console
- Navigate to the Details tab and find the "Connect your database" section
- Copy the REST API credentials from the .env section
- Configure your
.env.local:
NEXT_PUBLIC_ENABLE_SAVE_CHAT_HISTORY=true
USE_LOCAL_REDIS=false
UPSTASH_REDIS_REST_URL=[YOUR_UPSTASH_REDIS_REST_URL]
UPSTASH_REDIS_REST_TOKEN=[YOUR_UPSTASH_REDIS_REST_TOKEN]- Ensure Redis is installed and running locally
- Configure your
.env.local:
NEXT_PUBLIC_ENABLE_SAVE_CHAT_HISTORY=true
USE_LOCAL_REDIS=true
LOCAL_REDIS_URL=redis://localhost:6379SearXNG can be used as an alternative search backend with advanced search capabilities.
- Set up SearXNG as your search provider:
SEARCH_API=searxng
SEARXNG_API_URL=http://localhost:8080
SEARXNG_SECRET="" # generate with: openssl rand -base64 32- Ensure you have Docker and Docker Compose installed
- Two configuration files are provided in the root directory:
searxng-settings.yml: Contains main configuration for SearXNGsearxng-limiter.toml: Configures rate limiting and bot detection
- Configure environment variables in your
.env.local:
# SearXNG Base Configuration
SEARXNG_PORT=8080
SEARXNG_BIND_ADDRESS=0.0.0.0
SEARXNG_IMAGE_PROXY=true
# Search Behavior
SEARXNG_DEFAULT_DEPTH=basic # Set to 'basic' or 'advanced'
SEARXNG_MAX_RESULTS=50 # Maximum number of results to return
SEARXNG_ENGINES=google,bing,duckduckgo,wikipedia # Comma-separated list of search engines
SEARXNG_TIME_RANGE=None # Time range: day, week, month, year, or None
SEARXNG_SAFESEARCH=0 # 0: off, 1: moderate, 2: strict
# Rate Limiting
SEARXNG_LIMITER=false # Enable to limit requests per IPSEARXNG_DEFAULT_DEPTH: Controls search depthbasic: Standard searchadvanced: Includes content crawling and relevance scoring
SEARXNG_MAX_RESULTS: Maximum results to returnSEARXNG_CRAWL_MULTIPLIER: In advanced mode, determines how many results to crawl- Example: If
MAX_RESULTS=10andCRAWL_MULTIPLIER=4, up to 40 results will be crawled
- Example: If
You can modify searxng-settings.yml to:
- Enable/disable specific search engines
- Change UI settings
- Adjust server options
Example of disabling specific engines:
engines:
- name: wikidata
disabled: trueFor detailed configuration options, refer to the SearXNG documentation
- If specific search engines aren't working, try disabling them in
searxng-settings.yml - For rate limiting issues, adjust settings in
searxng-limiter.toml - Check Docker logs for potential configuration errors:
docker-compose logs searxngGOOGLE_GENERATIVE_AI_API_KEY=[YOUR_API_KEY]ANTHROPIC_API_KEY=[YOUR_API_KEY]GROQ_API_KEY=[YOUR_API_KEY]OLLAMA_BASE_URL=http://localhost:11434AZURE_API_KEY=[YOUR_API_KEY]
AZURE_RESOURCE_NAME=[YOUR_RESOURCE_NAME]
NEXT_PUBLIC_AZURE_DEPLOYMENT_NAME=[YOUR_DEPLOYMENT_NAME]# DEEPSEEK_API_KEY=[YOUR_API_KEY]
# FIREWORKS_API_KEY=[YOUR_API_KEY]
NEXT_PUBLIC_ENABLE_SHARE=trueSERPER_API_KEY=[YOUR_API_KEY]JINA_API_KEY=[YOUR_API_KEY]