Logo

基于Next.js、Pinecone和Langchain构建语义搜索应用

semantic-search-nextjs-pinecone-langchain-chatgpt

什么是语义搜索应用?

语义搜索是一种搜索方法,它能够理解用户的意图和搜索查询的上下文含义,而不仅仅是匹配关键词。它使用自然语言处理和机器学习来解释查询背后的语义或含义,从而产生更准确和相关的搜索结果。语义搜索可以考虑用户意图、查询上下文、同义词识别和自然语言理解。它的应用范围从网络搜索引擎到个性化推荐系统。

项目概述

本项目是一个基础的起步项目,用于构建使用以下工具和API的应用:

  • Next.js
  • LangchainJS
  • Pinecone向量数据库
  • GPT3

该应用的主要功能是:

  1. 接收文本文件
  2. 将文本嵌入为向量
  3. 将向量存储到Pinecone中
  4. 允许对数据进行语义搜索

技术栈介绍

Next.js

Next.js是一个流行的React框架,用于构建服务器端渲染和静态网站生成的应用。它提供了许多内置功能,如自动代码拆分、预渲染、路由等,使得构建高性能的React应用变得更加简单。

LangchainJS

LangchainJS是一个JavaScript库,它简化了与大型语言模型(如GPT-3)的交互过程。它提供了一系列工具和抽象,使得构建复杂的NLP应用变得更加容易。

Pinecone

Pinecone是一个向量数据库,专门设计用于存储和检索高维向量数据。在本项目中,它用于存储文本的向量表示,以便进行快速和高效的语义搜索。

GPT3

GPT-3(Generative Pre-trained Transformer 3)是OpenAI开发的一个强大的语言模型。在这个项目中,它被用来生成文本的向量表示,并帮助进行语义搜索。

Image of Next.js, Pinecone and Langchain logos

项目设置

要运行此应用,您需要:

  1. OpenAI API密钥
  2. Pinecone API密钥

安装步骤

  1. 克隆仓库:
git clone git@github.com:dabit3/semantic-search-nextjs-pinecone-langchain-chatgpt.git
  1. 进入目录并安装依赖:
cd semantic-search-nextjs-pinecone-langchain-chatgpt
npm install
  1. 复制.example.env.local到一个名为.env.local的新文件,并更新您的API密钥和环境。

    确保您的环境是Pinecone提供给您的实际环境,例如us-west4-gcp-free

  2. (可选)将您自己的自定义文本或markdown文件添加到/documents文件夹中。

  3. 运行应用:

npm run dev

使用说明

创建嵌入和索引时,索引完全初始化可能需要2-4分钟。utils中有一个180秒的setTimeout函数,等待索引创建完成。

如果初始化时间更长,那么第一次尝试创建嵌入时将失败。如果发生这种情况,请访问Pinecone控制台观察并等待您的索引创建状态完成,然后再次运行该函数。

运行查询

预配置的应用数据是关于Lens协议开发者文档的,所以除非您用自己的数据替换它,否则它只会理解有关它的问题。以下是您可以用默认数据问它的几个问题:

  1. Lens和传统社交平台有什么区别?
  2. Lens SDK和Lens API有什么区别?
  3. 如何批量查询Lens数据?

获取您的数据

建议查看GPT Repository Loader,它可以轻松地将任何GitHub仓库转换为文本格式,保留文件的结构和文件内容,使用本代码库很容易将其分割并保存到Pinecone中。

结语

本项目为那些希望使用Next.js、Pinecone和Langchain构建语义搜索应用的开发者提供了一个很好的起点。通过这个项目,您可以了解如何将文本嵌入为向量,如何在Pinecone中存储和检索这些向量,以及如何使用GPT3和Langchain进行语义搜索。

随着NLP和AI技术的不断发展,像这样的语义搜索应用将在未来发挥越来越重要的作用。我们鼓励您基于这个项目进行探索和创新,创建更加强大和智能的搜索应用!

Image of semantic search results

相关项目

Project Cover
draw-a-ui
draw-a-ui结合tldraw与GPT-4 Vision API,实现从手绘线框图到HTML代码的自动生成,并支持Next.js构建应用。用户可以绘制线框图,并将其转化为包含Tailwind CSS的HTML文件。项目核心开源,需GPT-4 Vision API访问权限进行本地开发。了解更多项目更新及功能,请访问draw-a-ui官网并加入候补名单。
Project Cover
civitai
一个创新的平台,用于分享和协作稳定扩散模型、文本反转、超网络等AI生成模型。平台采用现代Web技术构建,功能强大且用户友好。
Project Cover
photoshot
Photoshot是一款开源AI头像生成应用,利用Stable Diffusion模型生成独特虚拟形象。应用由Next.js、Chakra UI、Prisma和Replicate等技术构建,支持AWS S3图片存储和Stripe支付。用户通过简单安装和配置环境变量快速启动,并使用Docker管理本地数据库和邮件服务器,轻松运行开发服务器生成和定制头像。
Project Cover
riffusion-app-hobby
Riffusion是一款基于稳定扩散技术的实时音乐生成应用程序,支持Next.js、React、Typescript、three.js、Tailwind和Vercel技术栈。用户可通过安装Node v18或更高版本运行开发服务器,并在本地浏览器中查看应用。项目需要配置推理服务器来快速生成模型输出,适用于大GPU用户。请在二次开发时引用相关工作。
Project Cover
openv0
openv0是一个开源生成型UI组件框架,使用开源组件库和图标,通过多通道流程生成和迭代UI组件。支持的前端框架包括React、Next.js、Svelte,UI库包括NextUI、Flowbite、Shadcn。最新更新简化了新框架、库和插件的集成,并计划推出公共探索共享应用和多模态UIray视觉模型。
Project Cover
sharegpt
ShareGPT是一款开源Chrome扩展,支持一键分享ChatGPT对话。用户可以浏览、保存和评论对话,还能通过REST API进行数据操作。采用Next.js、Typescript等技术栈,操作简便,功能强大。
Project Cover
ai-chatbot
Next.js AI Chatbot是一个开放源代码的AI聊天应用程序模板,集成了最新的Next.js功能、Vercel AI SDK、多种模型提供商支持,以及聊天历史记录、速率限制和会话存储功能。此平台支持使用OpenAI、Anthropic、Cohere、Hugging Face等多种AI聊天模型,并提供自定义模型选项。适合开发者快速部署和本地运行,是构建和扩展智能聊天应用的理想选择。
Project Cover
law-cn-ai
利用Next.js, OpenAI, 和Supabase打造具有专业水准的智能法律助手。该项目通过部署到Vercel,提供自动完成和向量相似性搜索功能,旨在提高在处理法律文档时的效率和精确度。适合律师、法律顾问及热衷技术的法律专业人士。
Project Cover
ai
Vercel AI SDK是一个TypeScript工具包,帮助开发者使用Next.js、React、Svelte、Vue等框架和Node.js运行时构建AI应用。核心模块提供统一API与OpenAI、Anthropic、Google等模型提供商交互。UI模块提供构建聊天机器人和生成界面的钩子,适用于多个框架。RSC模块为支持React服务器组件的框架提供优化API。开发者可以通过社区支持和贡献指南快速上手并进行贡献。

最新项目

Project Cover
豆包MarsCode
豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。
Project Cover
AI写歌
Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。
Project Cover
商汤小浣熊
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
Project Cover
有言AI
有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。
Project Cover
Kimi
Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。
Project Cover
吐司
探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。
Project Cover
SubCat字幕猫
SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。
Project Cover
AIWritePaper论文写作
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。
Project Cover
稿定AI
稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。
投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号