เครื่องมือค้นหาที่ขับเคลื่อนด้วย AI พร้อม UI ที่สร้าง
คำเตือน
Morphic สร้างขึ้นด้วย Vercel AI SDK RSC AI SDK RSC อยู่ระหว่างการทดลองและมีข้อจำกัดบางประการ เมื่อใช้ในการผลิต ขอแนะนำให้ย้ายไปยัง SDK UI
บันทึก
โปรดทราบว่ามีความแตกต่างระหว่างพื้นที่เก็บข้อมูลนี้กับเว็บไซต์อย่างเป็นทางการ morphic.sh เว็บไซต์อย่างเป็นทางการเป็นทางแยกของพื้นที่เก็บข้อมูลนี้พร้อมคุณสมบัติเพิ่มเติม เช่น การรับรองความถูกต้อง ซึ่งจำเป็นสำหรับการให้บริการออนไลน์ ซอร์สโค้ดหลักของ Morphic อยู่ในพื้นที่เก็บข้อมูลนี้ และได้รับการออกแบบมาให้สร้างและปรับใช้ได้อย่างง่ายดาย
แยก repo ไปยังบัญชี Github ของคุณ จากนั้นรันคำสั่งต่อไปนี้เพื่อโคลน repo:
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
โฮสต์ Morphic เวอร์ชันสดของคุณเองด้วย Vercel หรือ Cloudflare Pages
หากคุณต้องการใช้ Morphic เป็นเครื่องมือค้นหาในเบราว์เซอร์ของคุณ ให้ทำตามขั้นตอนเหล่านี้:
https://morphic.sh/search?q=%s
ซึ่งจะทำให้คุณสามารถใช้ Morphic เป็นเครื่องมือค้นหาเริ่มต้นในเบราว์เซอร์ได้
ตอนนี้ Morphic รองรับ SearXNG เป็นแบ็กเอนด์การค้นหาทางเลือกพร้อมความสามารถในการค้นหาขั้นสูง วิธีใช้ SearXNG:
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Docker และ Docker Compos ไว้ในระบบของคุณ
ในไฟล์ .env.local
ของคุณ ให้ตั้งค่าตัวแปรต่อไปนี้:
ไฟล์การกำหนดค่าสองไฟล์มีอยู่ในไดเร็กทอรีราก:
searxng-settings.yml
: ไฟล์นี้มีการกำหนดค่าหลักสำหรับ SearXNG รวมถึงการตั้งค่าเอ็นจิ้นและตัวเลือกเซิร์ฟเวอร์searxng-limiter.toml
: ไฟล์นี้กำหนดค่าการจำกัดอัตราและคุณสมบัติการตรวจจับบอทของ SearXNG เรียกใช้ docker-compose up
เพื่อเริ่ม Morphic stack โดยมี SearXNG รวมอยู่ด้วย
SearXNG จะพร้อมใช้งานที่ http://localhost:8080
และ Morphic จะใช้เป็นแบ็กเอนด์การค้นหา
NEXT_PUBLIC_BASE_URL
: ตั้งค่านี้เป็น URL การพัฒนาในเครื่องของคุณ (http://localhost:3000) หรือ URL ที่ใช้งานจริงของคุณเมื่อปรับใช้SEARXNG_DEFAULT_DEPTH
: ตั้งค่าเป็น 'พื้นฐาน' หรือ 'ขั้นสูง' เพื่อควบคุมความลึกในการค้นหาเริ่มต้นSEARXNG_MAX_RESULTS
: จำนวนผลลัพธ์สูงสุดที่จะส่งคืนจาก SearXNGSEARXNG_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