morphic-ai-answer-engine-generative-ui

Configuration Guide

This guide covers the optional features and their configuration in Morphic.

Table of Contents

Chat History Storage

Follow the detailed setup guide at Building your own RAG chatbot with Upstash

  1. Create a database at Upstash Console
  2. Navigate to the Details tab and find the “Connect your database” section
  3. Copy the REST API credentials from the .env section
  4. 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]

Using Local Redis

  1. Ensure Redis is installed and running locally
  2. Configure your .env.local:
NEXT_PUBLIC_ENABLE_SAVE_CHAT_HISTORY=true
USE_LOCAL_REDIS=true
LOCAL_REDIS_URL=redis://localhost:6379

Search Providers

SearXNG Configuration

SearXNG can be used as an alternative search backend with advanced search capabilities.

Basic Setup

  1. Set up SearXNG as your search provider:
SEARCH_API=searxng
SEARXNG_API_URL=http://localhost:8080
SEARXNG_SECRET=""  # generate with: openssl rand -base64 32

Docker Setup

  1. Ensure you have Docker and Docker Compose installed
  2. Two configuration files are provided in the root directory:
    • searxng-settings.yml: Contains main configuration for SearXNG
    • searxng-limiter.toml: Configures rate limiting and bot detection

Advanced Configuration

  1. 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 IP

Advanced Search Features

Customizing SearXNG

You can modify searxng-settings.yml to:

Example of disabling specific engines:

engines:
  - name: wikidata
    disabled: true

For detailed configuration options, refer to the SearXNG documentation

Troubleshooting

docker-compose logs searxng

Additional AI Providers

Google Generative AI

GOOGLE_GENERATIVE_AI_API_KEY=[YOUR_API_KEY]

Anthropic

ANTHROPIC_API_KEY=[YOUR_API_KEY]

Groq

GROQ_API_KEY=[YOUR_API_KEY]

Ollama

OLLAMA_BASE_URL=http://localhost:11434

Azure OpenAI

AZURE_API_KEY=[YOUR_API_KEY]
AZURE_RESOURCE_NAME=[YOUR_RESOURCE_NAME]
NEXT_PUBLIC_AZURE_DEPLOYMENT_NAME=[YOUR_DEPLOYMENT_NAME]

Other Features

Share Feature

NEXT_PUBLIC_ENABLE_SHARE=true
SERPER_API_KEY=[YOUR_API_KEY]

Alternative Retrieve Tool

JINA_API_KEY=[YOUR_API_KEY]