修仙么朋友-从0到1构建个人修仙百科

ChatGPT构建修仙百科

ChatGPT非常适合进行日常的通用问答,但在需要领域特定知识时存在一些不足。此外,它会编造答案来填补其知识空白,并且从不引用其信息来源,因此无法真正被信任。

本应用尝试使用网络修仙小说来构建修仙领域的修仙百科。

使用的技术:

  • Next.js (React框架)
  • MemFire (国内版Supabase,使用他们的pgvector实现作为向量数据库)
  • OpenAI API (用于生成嵌入和聊天完成)
  • TailwindCSS (用于样式)

后续工作:

  • 使用MemFire 云函数构建本应用中的api接口
  • 使用MemFire 静态托管部署本应用

功能概述

创建和存储嵌入:

  • 上传修仙小说,转换为纯文本并分割成1000个字符的文档
  • 使用OpenAI的嵌入API,利用"text-embedding-ada-002"模型为每个文档生成嵌入
  • 将嵌入向量存储在Supabase的postgres表中,使用pgvector; 表包含三列: 文档文本、源URL以及从OpenAI API返回的嵌入向量。

响应查询:

  • 从用户提示生成单个嵌入向量
  • 使用该嵌入向量对向量数据库进行相似性搜索
  • 使用相似性搜索的结果构建GPT-3.5/GPT-4的提示
  • 然后将GPT的响应流式传输给用户。

修仙体验

  1. 上传小说

  2. 修仙问答

体验地址

入门指南

以下设置指南假定您至少对使用React和Next.js开发Web应用程序有基本的了解。熟悉OpenAI API和Supabase会对使事情正常运行有所帮助,但不是必需的。

设置Supabase

  1. 登录MemFire 创建应用

  2. 启用Vector扩展 首先,我们将启用Vector扩展。可以在应用的SQL执行器中运行以下命令完成此操作:

sql 复制代码
create extension vector;
  1. 接下来,让我们创建一个表来存储我们的文档及其嵌入。

转到SQL编辑器并运行以下查询:

sql 复制代码
create table documents (
  id bigserial primary key,
  content text,
  url text,
  embedding vector (1536)
);
  1. 最后,我们将创建一个用于执行相似性搜索的函数。转到SQL编辑器并运行以下查询:
sql 复制代码
create or replace function match_documents (
  query_embedding vector(1536),
  similarity_threshold float,
  match_count int
)
returns table (
  id bigint,
  content text,
  url text,
  similarity float
)
language plpgsql
as $$
begin
  return query
  select
    documents.id,
    documents.content,
    documents.url,
    1 - (documents.embedding <=> query_embedding) as similarity
  from documents
  where 1 - (documents.embedding <=> query_embedding) > similarity_threshold
  order by documents.embedding <=> query_embedding
  limit match_count;
end;
$$;

设置本地环境

  • 安装依赖项
bash 复制代码
npm install
  • 在根目录中创建一个名为.env.local的文件以存储环境变量:
bash 复制代码
cp .env.local.example .env.local
  • 打开.env.local文件,添加您的Supabase项目URL和API密钥。
  • 将您的OpenAI API密钥添加到.env.local文件。您可以在OpenAI Web门户的API Keys下找到它。API密钥应存储在OPENAI_API_KEY变量中。
  • 可选\]提供`OPEAI_PROXY`环境变量以启用您自定义的OpenAI API代理。将其设置为 `""` 以直接调用官方API。

bash 复制代码
npm run dev

github地址

github.com/TiannV/ai-k...

相关推荐
CoderJia程序员甲16 小时前
GitHub 热榜项目 - 日榜(2026-1-9)
开源·大模型·llm·github·ai教程
树獭非懒17 小时前
AI大模型小白手册|如何像工程师一样写Prompt?
llm·aigc·ai编程
视觉&物联智能18 小时前
【杂谈】-多智能体系统的效能悖论:协作优势的认知边界
ai·llm·agent·智能体·人工 智能
AI架构师易筋21 小时前
多模态 LLM 与本地多模态检索 PoC:从原理到工程落地(图片 / 视频关键帧 / LaTeX 公式)
人工智能·llm·多模态·多模态llm
且去填词1 天前
DeepSeek API 深度解析:从流式输出、Function Calling 到构建拥有“手脚”的 AI 应用
人工智能·python·语言模型·llm·agent·deepseek
EdisonZhou1 天前
MAF快速入门(11)并行工作流
llm·aigc·agent·.net core
进击的松鼠1 天前
LangChain 实战 | 快速搭建 Python 开发环境
python·langchain·llm
悟乙己2 天前
使用TimeGPT进行时间序列预测案例解析
机器学习·大模型·llm·时间序列·预测
智泊AI2 天前
AI Agent 架构核心:如何构建多意图路由与动态查询分发引擎
llm
xiao5kou4chang6kai42 天前
贯通LLM应用→数据分析→自动化编程→文献及知识管理→科研写作与绘图→构建本地LLM、Agent→多模型圆桌会议→N8N自动化工作流深度应用
人工智能·自动化·llm·科研绘图·n8n