Vercel + Morphic + Tavily:30 分钟打造你的专属 AI 问答系统

Authors

OpenAI 最近推出的 SearchGPT 或许没有撼动谷歌的地位,却让其投资人微软感受到了不小的威胁,以至于微软直接将 OpenAI 列为战略竞争对手。乍一听,构建一个专属的 AI 问答系统似乎是一个复杂且耗时的任务,但借助现成的 SaaS 工具,我们可以在极短时间内实现这一目标。本文将向你展示如何使用 Vercel、Morphic 和 Tavily,在仅仅 30 分钟内快速搭建一个高效、智能的 AI 问答系统。请坐好扶稳,系统的效果绝对超出你的想象。

vercelmorphictavily3-1

组件介绍

什么是 Vercel?

Vercel 是一个云平台,网址是 https://www.vercel.com/ ,专注于前端开发和部署。它提供了高度优化的基础设施,用于构建和部署现代 Web 应用程序。Vercel 最初是作为 Zeit Now 推出的,后来更名为 Vercel。该平台支持静态网站和动态应用的自动化部署,并与许多流行的前端框架(如 Next.js、React 等)无缝集成。

什么是 Morphic?

Morphic 是一个具有生成式用户界面的 AI 驱动搜索引擎,网址是 https://github.com/miurla/morphic ,通过 Next.js 构建,没有其他依赖。

什么是 Tavily?

Tavily 是一个为大型语言模型(LLMs)和检索增强生成(RAG)优化的搜索引擎,网址是 https://app.tavily.com/home ,旨在提供高效、快速和持久的搜索结果。与 Serp 或 Google 等其他搜索API不同,Tavily 专注于为 AI 开发者和自主 AI 代理优化搜索。

前期准备 - 申请各平台的 API Key

在开始搭建 Morphic 之前,我们先要根据具体需求,在相应的 SaaS 平台申请所需的 API Key。这些平台对于小规模使用都是免费的,让你可以无忧无虑地开始体验。Morphic 支持多种环境变量配置,这里我们以 OpenAI 的原生 API Key 为例,只需设置以下四个环境变量:OPENAI_API_KEY、TAVILY_API_KEY、UPSTASH_REDIS_REST_URL 和 UPSTASH_REDIS_REST_TOKEN。现在,就让我们一起在各大平台上获取这些必要的 API Key,轻松开启你的 AI 问答系统之旅。

# OpenAI API密钥可在此处获取:https://platform.openai.com/api-keys
OPENAI_API_KEY=[您的OpenAI API密钥]

# Tavily API密钥可在此处获取:https://app.tavily.com/home
TAVILY_API_KEY=[您的Tavily API密钥]

# Upstash Redis URL和令牌可在此处获取:https://console.upstash.com/redis
UPSTASH_REDIS_REST_URL=[您的Upstash Redis REST URL]
UPSTASH_REDIS_REST_TOKEN=[您的Upstash Redis REST令牌]

# 可选项
# 以下设置可根据需要选择性使用。

# 用于设置OpenAI API请求的基础URL路径。
# 如果需要设置基础URL,请取消注释并设置以下内容:
# OPENAI_API_BASE=

# 用于设置OpenAI API请求的模型。
# 如果未设置,默认为gpt-4o。
# OPENAI_API_MODEL=gpt-4o-mini

# 如果您想使用Google Generative AI而不是OpenAI,请启用以下设置。
# Google Generative AI API密钥可在此处获取:https://aistudio.google.com/app/apikey
# GOOGLE_GENERATIVE_AI_API_KEY=[您的Google Generative AI API密钥]

# 如果您想使用Anthropic而不是OpenAI,请启用以下设置。
# ANTHROPIC_API_KEY=[您的Anthropic API密钥]

# [不稳定] 如果您想使用Ollama,请启用以下变量。
# OLLAMA_MODEL=[您的Ollama模型] # 主要使用的模型。推荐:mistral或openhermes
# OLLAMA_SUB_MODEL=[您的Ollama子模型] # 使用的子模型。推荐:phi3或llama3
# OLLAMA_BASE_URL=[您的Ollama URL] # 使用的基础URL。例如:http://localhost:11434

# 只有写作者可以设置特定模型。它必须与OpenAI API兼容。
# USE_SPECIFIC_API_FOR_WRITER=true
# SPECIFIC_API_BASE=[您的API基础URL] # 例如:https://api.groq.com/openai/v1
# SPECIFIC_API_KEY=[您的API密钥]
# SPECIFIC_API_MODEL=[您的API模型] # 例如:llama-3.1-70b-versatile

# 启用分享功能
# 如果您启用此功能,需要单独实现账户管理。
# ENABLE_SHARE=true

# 启用视频搜索工具
# Serper API密钥可在此处获取:https://serper.dev/api-key
# SERPER_API_KEY=[您的Serper API密钥]

申请 OpenAI API Key

这个网上的教程很多,如果不具备相关的条件,也可以使用我之前推荐的 OpenRouter 平台申请对应的 API Key。

申请 Tavily AI API Key

打开 https://app.tavily.com/home ,使用 Google 账号登录,按照系统指引操作即可。

vercelmorphictavily3-2

申请 Redis - Upstash API Key

vercelmorphictavily3-3
vercelmorphictavily3-4

通过 Vercel 部署 Morphic

打开 Morphic: AI-powered answer engine – Vercel ,点击 Deploy

vercelmorphictavily3-0

选择自己的 GitHub 仓库,填入环境变量,注意这里只有两个环境变量提示你需要填,但是实际要必填的是四个,但是这个入口没有开放,所以先填两个环境变量再说,后面项目在 Vercel 里面创建好之后再做修改。

vercelmorphictavily3-6

上面的步骤提交完之后 Vercel 会构建失败,这个时候需要去 Vercel 上修改环境变量,将对应的环境变量填入我们在之前步骤中申请的 API Key,再做重新部署。

vercelmorphictavily3-7
vercelmorphictavily3-8

这样系统就算部署完成了,我们可以通过 Vercel 提供的域名使用搭建好的服务。

测试系统

下面我们尝试一下输入几个有代表性的问题来测试一下这个系统。

2024 年奥运会网球女子单打冠军是谁?

vercelmorphictavily3-9

郑钦文在2024年巴黎奥运会网球女子单打比赛中的表现如何?

vercelmorphictavily3-10

你会发现系统的反应速度快得惊人,消息的实时性也相当出色。昨晚发布的内容,现在已经可以被轻松搜索到。

总结

通过以上步骤,我们成功地利用Vercel、Morphic和Tavily,构建了一个既简单又强大的AI问答系统。这个系统不仅架构扎实,还可以根据实际需求进行优化和调整。比如,我们可以扩展消息来源,整合各行业的专有知识库。基础已经搭建完成,如何充分发挥这些工具的潜力,全凭你的创造力!

如果你对这篇文章有任何问题或建议,欢迎在评论区留言分享你的想法。

Share this content