embedchainjs简介
embedchainjs是embedchain框架的JavaScript版本,旨在帮助开发者快速构建基于大语言模型(LLM)的聊天机器人,可以对任意数据集进行智能问答。它抽象了加载数据集、分块、创建嵌入向量、存储向量等复杂流程,提供了简单易用的API接口。
核心功能
- 支持添加多种格式的数据源:网页、PDF文件、问答对等
- 自动处理数据加载、分块、创建嵌入向量等流程
- 使用向量数据库存储嵌入向量,支持高效相似度搜索
- 基于OpenAI API实现智能问答
- 提供简单易用的API,几行代码即可创建聊天机器人
快速开始
- 安装embedchainjs:
npm install embedchain && npm install -S openai@^3.3.0
- 创建.env文件,设置OpenAI API密钥:
OPENAI_API_KEY = "sk-xxxx"
- 创建聊天机器人:
const dotenv = require("dotenv");
dotenv.config();
const { App } = require("embedchain");
async function testApp() {
const bot = await App();
// 添加数据源
await bot.add("web_page", "https://example.com/page1");
await bot.add("pdf_file", "https://example.com/doc.pdf");
// 查询
const result = await bot.query("如何使用embedchainjs?");
console.log(result);
}
testApp();
支持的数据格式
embedchainjs目前支持以下数据格式:
- 网页 (web_page)
- PDF文件 (pdf_file)
- 问答对 (qna_pair)
更多格式正在开发中,欢迎提出建议。
技术栈
embedchainjs基于以下技术栈构建:
- Langchain: LLM框架,用于加载、分块和索引数据
- OpenAI Embedding API: 创建文本嵌入向量
- OpenAI ChatGPT API: 基于上下文生成回答
- Chroma: 向量数据库,存储嵌入向量
更多资源
欢迎加入Discord社区讨论交流,或在Twitter上关注最新动态。如果embedchainjs对您有帮助,别忘了给项目点个star哦!