Morphic
一个具有生成式用户界面的AI搜索引擎。
[!注意] 请注意,此代码库与官方网站morphic.sh之间存在差异。官方网站是该代码库的一个分支,添加了诸如身份验证等功能,这些功能对于提供在线服务是必需的。Morphic的核心源代码位于此代码库中,设计上易于构建和部署。
🗂️ 概览
🛠 功能
- 使用生成式UI进行搜索和回答
- 理解用户问题
- 搜索历史功能
- 分享搜索结果(可选)
- 支持视频搜索(可选)
- 从指定URL获取答案
- 用作搜索引擎※
- 支持OpenAI以外的提供商
- 指定模型生成答案
- 支持Groq API ※
- 本地Redis支持
🧱 技术栈
- 应用框架:Next.js
- 文本流/生成式UI:Vercel AI SDK
- 生成模型:OpenAI
- 搜索API:Tavily AI / Serper
- 阅读器API:Jina AI
- 数据库(无服务器/本地):Upstash / Redis
- 组件库:shadcn/ui
- 无头组件基础库:Radix UI
- 样式:Tailwind CSS
🚀 快速开始
1. Fork并克隆代码库
将代码库Fork到你的Github账户,然后运行以下命令克隆代码库:
git clone git@github.com:[YOUR_GITHUB_ACCOUNT]/morphic.git
2. 安装依赖
cd morphic
bun install
3. 设置Upstash Redis
按照下方指南设置Upstash Redis。创建数据库并获取UPSTASH_REDIS_REST_URL
和UPSTASH_REDIS_REST_TOKEN
。有关如何进行的说明,请参阅Upstash指南。
如果打算使用本地Redis,可以跳过此步骤。
4. 填写密钥
cp .env.local.example .env.local
你的.env.local文件应如下所示:
# 在此处获取OpenAI API密钥:https://platform.openai.com/api-keys
OPENAI_API_KEY=
# 在此处获取Tavily API密钥:https://app.tavily.com/home
TAVILY_API_KEY=
# 在此处获取Upstash Redis URL和令牌:https://console.upstash.com/redis
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
## Redis配置
此应用程序支持Upstash Redis和本地Redis。要使用本地Redis:
1. 在`.env.local`文件中设置`USE_LOCAL_REDIS=true`。
2. 如果你的本地Redis没有运行在默认的`localhost:6379`或`redis://redis:6379`(如果使用docker compose),可选地设置`LOCAL_REDIS_URL`。
要使用Upstash Redis:
1. 在`.env.local`文件中设置`USE_LOCAL_REDIS=false`或保持未设置。
2. 使用Upstash凭据设置`UPSTASH_REDIS_REST_URL`和`UPSTASH_REDIS_REST_TOKEN`。
5. 本地运行应用
使用Bun
要使用Bun在本地运行应用程序,执行以下命令:
bun dev
现在你可以在Web浏览器中访问http://localhost:3000。
使用Docker
要使用Docker运行应用程序,使用以下命令:
docker compose up -d
这将以分离模式启动应用程序。你可以访问http://localhost:3000。
🌐 部署
使用Vercel或Cloudflare Pages托管你自己的Morphic在线版本。
Vercel
Cloudflare Pages
- 将代码库Fork到你的GitHub。
- 创建Cloudflare Pages项目。
- 选择
Morphic
代码库和Next.js
预设。 - 设置
OPENAI_API_KEY
和TAVILY_API_KEY
环境变量。 - 保存并部署。
- 取消部署,转到
设置
->函数
->兼容性标志
,在预览和生产环境中添加nodejs_compat
。 - 重新部署。
需要修复构建错误:问题
🔎 搜索引擎
在浏览器中设置搜索引擎
如果你想在浏览器中使用Morphic作为搜索引擎,请按照以下步骤操作:
- 打开你的浏览器设置。
- 导航到搜索引擎设置部分。
- 选择“管理搜索引擎和站点搜索”。
- 在“站点搜索”下,点击“添加”。
- 按如下方式填写字段:
- 搜索引擎:Morphic
- 快捷方式:morphic
- 带有%s作为查询占位符的URL:
https://morphic.sh/search?q=%s
- 点击“添加”保存新搜索引擎。
- 在站点搜索列表中找到“Morphic”,点击其旁边的三个点,然后选择“设为默认”。
这样你就可以在浏览器中将Morphic设置为默认搜索引擎。
✅ 已验证模型
所有适用的模型列表:
- OpenAI
- gpt-4o
- gpt-4o-mini
- gpt-4-turbo
- gpt-3.5-turbo
- Google
- Gemini 1.5 pro(不稳定)
- Anthropic
- Claude 3.5 Sonnet
- Ollama(不稳定)
- mistral/openhermes & Phi3/llama3 ※
可指定给作家的已验证模型列表:
- Groq
- LLaMA3.1 8b
- LLaMA3.1 70B
- LLaMA3 8b
- LLaMA3 70b