Appearance
前面的课程,我们基于 OpenAI SDK 完成了整个 RAG 的实现。
本节开始,我们开始基于 Vercel AI SDK 来实现 RAG 的逻辑。
- 使用 Vercel AI SDK 构建 Embedding 的知识库
新建一个
第 25 课
的分支。
bash
git checkout -b 第25课
1.vercelai embedding 表初始化
复制一份lib/db/openai
文件夹,重命名为lib/db/vercelai
。
修改
lib/db/vercelai/schema.ts
文件,将openai
替换为vercelai
。同时修改
lib/db/vercelai/actions.ts
、lib/db/vercelai/selectors.ts
中对应的引用。
执行数据库同步命令:
bash
pnpm db:generate
pnpm db:migrate
注意:如果遇到以下错误:
bashPostgresError:type "vector" does not exist
请在 supabase 的 sql 编辑器中执行以下命令:
sqlCREATE EXTENSION IF NOT EXISTS vector;
2.将基于 openai 的 embedding 逻辑重构为基于 vercelai 的逻辑
让 cursor agent 基于以下 prompt 生成代码:
md
请使用 vercel ai sdk 重构@embedding.ts 中的代码保存到@embedding.ts 下
llms.txt:https://llmstxt.org/
vercelai 的 llms.txt:https://sdk.vercel.ai/llms.txt
将 vercelai 的 llms.txt 链接添加到 cursor 的 docs 中。
md
@Vercel 请参考文档中的用法
3.编写脚本,将私有组件知识库中的内容转换为 embeddings,并保存到数据库中
复制一份app/api/openai/embedDocs.ts
文件到app/api/vercelai/embedDocs.ts
。
添加脚本:
bash
pnpm run embedDocs:vercelai