393 lines
20 KiB
Markdown
393 lines
20 KiB
Markdown
<!-- WEHUB_ZH_README -->
|
||
> [!NOTE]
|
||
> 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
|
||
> [English](./README.en.md) · [原始项目](https://github.com/lfnovo/open-notebook) · [上游 README](https://github.com/lfnovo/open-notebook/blob/HEAD/README.md)
|
||
> 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
|
||
|
||
<a id="readme-top"></a>
|
||
|
||
<!-- [![Contributors][contributors-shield]][contributors-url] -->
|
||
[![Forks][forks-shield]][forks-url]
|
||
[![Stargazers][stars-shield]][stars-url]
|
||
[![Issues][issues-shield]][issues-url]
|
||
[![MIT License][license-shield]][license-url]
|
||
<!-- [![LinkedIn][linkedin-shield]][linkedin-url] -->
|
||
|
||
|
||
<!-- PROJECT LOGO -->
|
||
<br />
|
||
<div align="center">
|
||
<a href="https://github.com/lfnovo/open-notebook">
|
||
<img src="docs/assets/hero.svg" alt="Logo">
|
||
</a>
|
||
|
||
<h3 align="center">Open Notebook</h3>
|
||
|
||
<p align="center">
|
||
一款开源、注重隐私的 Google Notebook LM 替代方案!
|
||
<br /><strong>加入我们的 <a href="https://discord.gg/37XJPXfz2w">Discord 服务器</a>,获取帮助、分享工作流创意并提出功能建议!</strong>
|
||
<br />
|
||
<a href="https://www.open-notebook.ai"><strong>访问我们的网站 »</strong></a>
|
||
<br />
|
||
<br />
|
||
<a href="docs/0-START-HERE/index.md">📚 入门指南</a>
|
||
·
|
||
<a href="docs/3-USER-GUIDE/index.md">📖 用户指南</a>
|
||
·
|
||
<a href="docs/2-CORE-CONCEPTS/index.md">✨ 功能特性</a>
|
||
·
|
||
<a href="docs/1-INSTALLATION/index.md">🚀 部署</a>
|
||
</p>
|
||
</div>
|
||
|
||
<p align="center">
|
||
<a href="https://trendshift.io/repositories/14536" target="_blank"><img src="https://trendshift.io/api/badge/repositories/14536" alt="lfnovo%2Fopen-notebook | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
||
</p>
|
||
|
||
<div align="center">
|
||
<!-- Keep these links. Translations will automatically update with the README. -->
|
||
<a href="https://zdoc.app/de/lfnovo/open-notebook">Deutsch</a> |
|
||
<a href="https://zdoc.app/es/lfnovo/open-notebook">Español</a> |
|
||
<a href="https://zdoc.app/fr/lfnovo/open-notebook">français</a> |
|
||
<a href="https://zdoc.app/ja/lfnovo/open-notebook">日本語</a> |
|
||
<a href="https://zdoc.app/ko/lfnovo/open-notebook">한국어</a> |
|
||
<a href="https://zdoc.app/pt/lfnovo/open-notebook">Português</a> |
|
||
<a href="https://zdoc.app/ru/lfnovo/open-notebook">Русский</a> |
|
||
<a href="https://zdoc.app/zh/lfnovo/open-notebook">中文</a>
|
||
</div>
|
||
|
||
## 私密、多模型、100% 本地、功能完整的 Notebook LM 替代方案
|
||
|
||

|
||
|
||
在人工智能主导的时代,能够思考 🧠 并获取新知识 💡 是一项不应成为少数人特权、也不应被单一供应商所限制的技能。
|
||
|
||
**Open Notebook 让你能够:**
|
||
- 🔒 **掌控你的数据** - 让研究内容保持私密与安全
|
||
- 🤖 **自选 AI 模型** - 支持 18+ 家提供商,包括 OpenAI、Anthropic、Ollama、LM Studio 等
|
||
- 📚 **组织多模态内容** - PDF、视频、音频、网页等
|
||
- 🎙️ **生成专业播客** - 高级多说话人播客生成
|
||
- 🔍 **智能搜索** - 针对全部内容进行全文与向量搜索
|
||
- 💬 **基于上下文对话** - 由你的研究资料驱动的 AI 对话
|
||
- 🌐 **多语言界面** - 支持英语、葡萄牙语、中文(简体与繁体)、日语、俄语和孟加拉语
|
||
|
||
在 [https://www.open-notebook.ai](https://www.open-notebook.ai) 了解更多关于本项目的信息
|
||
|
||
---
|
||
|
||
## 🆚 Open Notebook 与 Google Notebook LM 对比
|
||
|
||
| Feature | Open Notebook | Google Notebook LM | Advantage |
|
||
|---------|---------------|--------------------|-----------|
|
||
| **隐私与控制** | 自托管,数据归你 | 仅限 Google 云端 | 完整数据主权 |
|
||
| **AI 提供商选择** | 18+ 家提供商(OpenAI、Anthropic、Ollama、LM Studio 等) | 仅限 Google 模型 | 灵活性与成本优化 |
|
||
| **播客说话人** | 1-4 位说话人,支持自定义档案 | 仅 2 位说话人 | 极高灵活性 |
|
||
| **内容转换** | 自定义与内置 | 选项有限 | 无限处理能力 |
|
||
| **API 访问** | 完整 REST API | 无 API | 完整自动化能力 |
|
||
| **部署方式** | Docker、云端或本地 | 仅限 Google 托管 | 随处部署 |
|
||
| **引用** | 基础引用(将持续改进) | 带来源的完整引用 | 研究完整性 |
|
||
| **定制化** | 开源,完全可定制 | 封闭系统 | 无限可扩展性 |
|
||
| **成本** | 仅为 AI 使用付费 | 免费层 + 月度订阅 | 透明且可控 |
|
||
|
||
**为何选择 Open Notebook?**
|
||
- 🔒 **隐私优先**:你的敏感研究资料完全保持私密
|
||
- 💰 **成本可控**:选择更便宜的 AI 提供商,或使用 Ollama 在本地运行
|
||
- 🎙️ **更好的播客**:完整脚本控制与多说话人灵活性,优于受限的双说话人深度访谈格式
|
||
- 🔧 **无限定制**:按需修改、扩展与集成
|
||
- 🌐 **无供应商锁定**:切换提供商、随处部署、数据归你所有
|
||
|
||
### 技术栈
|
||
|
||
[![Python][Python]][Python-url] [![Next.js][Next.js]][Next-url] [![React][React]][React-url] [![SurrealDB][SurrealDB]][SurrealDB-url] [![LangChain][LangChain]][LangChain-url]
|
||
|
||
## 🚀 快速开始(2 分钟)
|
||
|
||
### 前置条件
|
||
- [Docker Desktop](https://www.docker.com/products/docker-desktop/) installed
|
||
- 仅此而已!(API 密钥稍后可在界面中配置)
|
||
|
||
### 步骤 1:获取 docker-compose.yml
|
||
|
||
**选项 A:** 直接下载
|
||
```bash
|
||
curl -o docker-compose.yml https://raw.githubusercontent.com/lfnovo/open-notebook/main/docker-compose.yml
|
||
```
|
||
|
||
**选项 B:** 手动创建文件
|
||
将以下内容复制到名为 `docker-compose.yml` 的新文件中:
|
||
|
||
```yaml
|
||
services:
|
||
surrealdb:
|
||
image: surrealdb/surrealdb:v2
|
||
# Credentials default to root:root for a zero-config local setup. Before
|
||
# exposing this instance to a network, set SURREAL_USER / SURREAL_PASSWORD
|
||
# in a .env file (see .env.example) — they are applied here and to the
|
||
# open_notebook service below, so the two always stay in sync.
|
||
# List (exec) form so each interpolated value stays a single argument —
|
||
# a password containing spaces would otherwise be split into several.
|
||
command: ["start", "--log", "info", "--user", "${SURREAL_USER:-root}", "--pass", "${SURREAL_PASSWORD:-root}", "rocksdb:/mydata/mydatabase.db"]
|
||
user: root # Required for bind mounts on Linux
|
||
ports:
|
||
# Bound to localhost only: the open_notebook service reaches this over
|
||
# the internal compose network regardless, so the host port is purely
|
||
# for local debugging (e.g. Surrealist, `surreal sql`). Exposing this
|
||
# on 0.0.0.0 would let anyone who can reach the host connect with the
|
||
# default root:root credentials.
|
||
- "127.0.0.1:8000:8000"
|
||
volumes:
|
||
- ./surreal_data:/mydata
|
||
environment:
|
||
- SURREAL_EXPERIMENTAL_GRAPHQL=true
|
||
restart: always
|
||
pull_policy: always
|
||
|
||
open_notebook:
|
||
image: lfnovo/open_notebook:v1-latest
|
||
ports:
|
||
- "8502:8502" # Web UI
|
||
- "5055:5055" # REST API
|
||
environment:
|
||
# REQUIRED: Change this to your own secret string
|
||
# This encrypts your API keys in the database
|
||
- OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string
|
||
|
||
# Database connection. SURREAL_USER / SURREAL_PASSWORD default to root:root
|
||
# for local use; override them in a .env file before exposing the instance
|
||
# (the same values configure the surrealdb service above).
|
||
- SURREAL_URL=ws://surrealdb:8000/rpc
|
||
- SURREAL_USER=${SURREAL_USER:-root}
|
||
- SURREAL_PASSWORD=${SURREAL_PASSWORD:-root}
|
||
- SURREAL_NAMESPACE=open_notebook
|
||
- SURREAL_DATABASE=open_notebook
|
||
volumes:
|
||
- ./notebook_data:/app/data
|
||
depends_on:
|
||
- surrealdb
|
||
restart: always
|
||
pull_policy: always
|
||
```
|
||
|
||
### 步骤 2:设置加密密钥
|
||
编辑 `docker-compose.yml` 并修改这一行:
|
||
```yaml
|
||
- OPEN_NOTEBOOK_ENCRYPTION_KEY=change-me-to-a-secret-string
|
||
```
|
||
改为任意密钥值(例如 `my-super-secret-key-123`)
|
||
|
||
### 步骤 3:启动服务
|
||
```bash
|
||
docker compose up -d
|
||
```
|
||
|
||
等待 15-20 秒,然后打开:**http://localhost:8502**
|
||
|
||
### 步骤 4:配置 AI 提供商
|
||
1. 前往 **Models**,选择你的提供商(OpenAI、Anthropic、Google 等)
|
||
2. 点击 **+ Add Configuration**
|
||
3. 按需粘贴 API 密钥及其他信息,然后点击 **Add Configuration**
|
||
4. 点击 **Test** 测试连接
|
||
5. 点击 **Sync Models** 并勾选要包含的模型
|
||
6. 在 **Default Model Assignments** 下,点击 **Auto-Assign Defaults**,或手动指定各用途使用的模型
|
||
|
||
完成!你已准备好创建第一个笔记本。
|
||
|
||
> **需要 API 密钥?** 可从以下平台获取:
|
||
> [OpenAI](https://platform.openai.com/api-keys) · [Anthropic](https://console.anthropic.com/) · [Google](https://aistudio.google.com/) · [Groq](https://console.groq.com/)(免费套餐)
|
||
|
||
> **想要免费的本地 AI?** 请参阅 [examples/docker-compose-ollama.yml](examples/) 了解 Ollama 配置
|
||
|
||
---
|
||
|
||
### 📚 更多安装选项
|
||
|
||
- **[使用 Ollama(免费本地 AI)](examples/docker-compose-ollama.yml)** - 在本地运行模型,无需 API 费用
|
||
- **[从源码安装(开发者)](docs/1-INSTALLATION/from-source.md)** - 用于开发与贡献
|
||
- **[完整安装指南](docs/1-INSTALLATION/index.md)** - 涵盖所有部署场景
|
||
|
||
---
|
||
|
||
### 📖 需要帮助?
|
||
|
||
- **🤖 AI 安装助手**:[帮助你安装的 CustomGPT](https://chatgpt.com/g/g-68776e2765b48191bd1bae3f30212631-open-notebook-installation-assistant)
|
||
- **🆘 故障排查**:[5 分钟故障排查指南](docs/6-TROUBLESHOOTING/quick-fixes.md)
|
||
- **💬 社区支持**:[Discord 服务器](https://discord.gg/37XJPXfz2w)
|
||
- **🐛 报告问题**:[GitHub Issues](https://github.com/lfnovo/open-notebook/issues)
|
||
|
||
---
|
||
|
||
## Star 历史
|
||
|
||
[](https://www.star-history.com/#lfnovo/open-notebook&type=date&legend=top-left)
|
||
|
||
|
||
## 提供商支持矩阵
|
||
|
||
感谢 [Esperanto](https://github.com/lfnovo/esperanto) 库,我们开箱即用地支持这些提供商!
|
||
|
||
| 提供商 | LLM 支持 | 嵌入(Embedding)支持 | 语音转文字(Speech-to-Text) | 文字转语音(Text-to-Speech) |
|
||
|--------------|-------------|------------------|----------------|----------------|
|
||
| OpenAI | ✅ | ✅ | ✅ | ✅ |
|
||
| Anthropic | ✅ | ❌ | ❌ | ❌ |
|
||
| Groq | ✅ | ❌ | ✅ | ❌ |
|
||
| Google (GenAI) | ✅ | ✅ | ✅ | ✅ |
|
||
| Vertex AI | ✅ | ✅ | ❌ | ✅ |
|
||
| Ollama | ✅ | ✅ | ❌ | ❌ |
|
||
| Perplexity | ✅ | ❌ | ❌ | ❌ |
|
||
| ElevenLabs | ❌ | ❌ | ✅ | ✅ |
|
||
| Deepgram | ❌ | ❌ | ❌ | ✅ |
|
||
| Azure OpenAI | ✅ | ✅ | ✅ | ✅ |
|
||
| Mistral | ✅ | ✅ | ✅ | ✅ |
|
||
| DeepSeek | ✅ | ❌ | ❌ | ❌ |
|
||
| Voyage | ❌ | ✅ | ❌ | ❌ |
|
||
| xAI | ✅ | ❌ | ❌ | ✅ |
|
||
| OpenRouter | ✅ | ✅ | ❌ | ❌ |
|
||
| DashScope (Qwen) | ✅ | ❌ | ❌ | ❌ |
|
||
| MiniMax | ✅ | ❌ | ❌ | ❌ |
|
||
| OpenAI Compatible* | ✅ | ✅ | ✅ | ✅ |
|
||
|
||
*支持 LM Studio 及任何 OpenAI 兼容端点
|
||
|
||
## ✨ 核心特性
|
||
|
||
### 核心能力
|
||
- **🔒 隐私优先**:你的数据由你掌控——无需依赖云端
|
||
- **🎯 多笔记本组织**:无缝管理多个研究项目
|
||
- **📚 通用内容支持**:PDF、视频、音频、网页、Office 文档等
|
||
- **🤖 多模型 AI 支持**:支持 18+ 家提供商,包括 OpenAI、Anthropic、Ollama、Google、LM Studio 等
|
||
- **🎙️ 专业播客生成**:支持 Episode Profiles 的高级多说话人播客
|
||
- **🔍 智能搜索**:对所有内容进行全文与向量搜索
|
||
- **💬 上下文感知对话**:基于研究资料的 AI 对话
|
||
- **📝 AI 辅助笔记**:生成洞察或手动撰写笔记
|
||
|
||
### 高级功能
|
||
- **⚡ 推理模型支持**:完整支持 DeepSeek-R1、Qwen3 等思考型模型
|
||
- **🔧 内容转换**:强大的可自定义操作,用于摘要与洞察提取
|
||
- **🌐 全面的 REST API**:完整的编程访问能力,便于自定义集成 [](http://localhost:5055/docs)
|
||
- **🔐 可选密码保护**:通过身份验证保护公开部署
|
||
- **📊 精细的上下文控制**:精确选择要与 AI 模型共享的内容
|
||
- **📎 引用**:获得带有规范来源引用的答案
|
||
|
||
|
||
## 播客功能
|
||
|
||
[](https://www.youtube.com/watch?v=D-760MlGwaI)
|
||
|
||
## 📚 文档
|
||
|
||
### 入门指南
|
||
- **[📖 简介](docs/0-START-HERE/index.md)** - 了解 Open Notebook 的功能
|
||
- **[⚡ 使用 OpenAI 快速入门](docs/0-START-HERE/quick-start-openai.md)** - 5 分钟内上手运行
|
||
- **[🔧 安装](docs/1-INSTALLATION/index.md)** - 全面的配置指南
|
||
- **[🎯 完全本地运行](docs/0-START-HERE/quick-start-local.md)** - 使用 Ollama/LM Studio,完全私有
|
||
|
||
### 用户指南
|
||
- **[📱 界面概览](docs/3-USER-GUIDE/interface-overview.md)** - 了解界面布局
|
||
- **[📚 笔记本、来源与笔记](docs/2-CORE-CONCEPTS/notebooks-sources-notes.md)** - 组织你的研究
|
||
- **[📄 添加来源](docs/3-USER-GUIDE/adding-sources.md)** - 管理各类内容
|
||
- **[📝 使用笔记](docs/3-USER-GUIDE/working-with-notes.md)** - 创建与管理笔记
|
||
- **[💬 高效对话](docs/3-USER-GUIDE/chat-effectively.md)** - AI 对话
|
||
- **[🔍 搜索](docs/3-USER-GUIDE/search.md)** - 查找信息
|
||
|
||
### 高级主题
|
||
- **[🎙️ 播客生成](docs/2-CORE-CONCEPTS/podcasts-explained.md)** - 创建专业播客
|
||
- **[🔧 内容转换](docs/3-USER-GUIDE/transformations.md)** - 自定义内容处理
|
||
- **[🤖 AI 模型](docs/4-AI-PROVIDERS/index.md)** - AI 模型配置
|
||
- **[🔌 MCP 集成](docs/5-CONFIGURATION/mcp-integration.md)** - 连接 Claude Desktop、VS Code 及其他 MCP 客户端
|
||
- **[🔧 REST API 参考](docs/7-DEVELOPMENT/api-reference.md)** - 完整的 API 文档
|
||
- **[🔐 安全](docs/5-CONFIGURATION/security.md)** - 密码保护与隐私
|
||
- **[🚀 部署](docs/1-INSTALLATION/index.md)** - 适用于所有场景的完整部署指南
|
||
- **[🧭 愿景与原则](VISION.md)** - Open Notebook 是什么,以及它的发展方向
|
||
- **[🛠️ 开发者文档](docs/7-DEVELOPMENT/index.md)** - 架构、环境配置、贡献指南、决策记录
|
||
|
||
<p align="right">(<a href="#readme-top">返回顶部</a>)</p>
|
||
|
||
## 🗺️ 路线图
|
||
|
||
### 即将推出的功能
|
||
- **实时前端更新**:实时 UI 更新,带来更流畅的体验
|
||
- **异步处理**:通过异步内容处理提升 UI 响应速度
|
||
- **跨笔记本来源**:在不同项目间复用研究资料
|
||
- **书签集成**:与你常用的书签应用连接
|
||
|
||
### 最近已完成 ✅
|
||
- **Next.js 前端**:基于 React 的现代化前端,性能更优
|
||
- **全面的 REST API**:以编程方式完整访问所有功能
|
||
- **多模型支持**:支持 18+ 家 AI 提供商,包括 OpenAI、Anthropic、Ollama、LM Studio
|
||
- **高级播客生成器**:支持 Episode Profiles 的专业多说话人播客
|
||
- **内容转换**:强大的可自定义内容处理操作
|
||
- **增强的引用**:改进的布局与更精细的来源引用控制
|
||
- **多对话会话**:在笔记本内管理不同的对话
|
||
|
||
查看 [open issues](https://github.com/lfnovo/open-notebook/issues) 获取完整的功能建议与已知问题列表。
|
||
|
||
<p align="right">(<a href="#readme-top">返回顶部</a>)</p>
|
||
|
||
|
||
## 📖 需要帮助?
|
||
- **🤖 AI 安装助手**:我们提供了 [帮助你安装 Open Notebook 的 CustomGPT](https://chatgpt.com/g/g-68776e2765b48191bd1bae3f30212631-open-notebook-installation-assistant) ——它会逐步引导你完成安装!
|
||
- **初次使用 Open Notebook?** 请从我们的 [入门指南](docs/0-START-HERE/index.md) 开始
|
||
- **需要安装帮助?** 请查看我们的 [安装指南](docs/1-INSTALLATION/index.md)
|
||
- **想亲眼看看效果?** 试试我们的 [快速入门教程](docs/0-START-HERE/index.md)
|
||
|
||
## 🤝 社区与贡献
|
||
|
||
### 加入社区
|
||
- 💬 **[Discord Server](https://discord.gg/37XJPXfz2w)** - 获取帮助、分享想法、与其他用户交流
|
||
- 🐛 **[GitHub Issues](https://github.com/lfnovo/open-notebook/issues)** - 报告 bug 并请求功能
|
||
- ⭐ **为仓库点亮 Star** - 表示支持并帮助他人发现 Open Notebook
|
||
|
||
### 参与贡献
|
||
我们欢迎贡献!尤其希望获得以下方面的帮助:
|
||
- **前端开发(Frontend Development)**:帮助改进现代化的 Next.js/React UI
|
||
- **测试与 Bug 修复**:让 Open Notebook 更加稳定可靠
|
||
- **功能开发**:一起打造最酷的研究工具
|
||
- **文档**:改进指南与教程
|
||
|
||
**当前技术栈**:Python、FastAPI、Next.js、React、SurrealDB
|
||
**未来路线图**:实时更新、增强异步处理
|
||
|
||
详见我们的[贡献指南](CONTRIBUTING.md),了解如何开始参与,包括[AI 辅助贡献](docs/7-DEVELOPMENT/contributing.md#ai-assisted-and-agent-generated-prs)相关准则。要了解我们在构建什么(以及我们会拒绝什么),请阅读 [VISION.md](VISION.md)。
|
||
|
||
<p align="right">(<a href="#readme-top">返回顶部</a>)</p>
|
||
|
||
|
||
## 📄 许可证
|
||
|
||
Open Notebook 采用 MIT 许可证。详情请参阅 [LICENSE](LICENSE) 文件。
|
||
|
||
|
||
**社区支持**:
|
||
- 💬 [Discord Server](https://discord.gg/37XJPXfz2w) - 获取帮助、分享想法、与用户交流
|
||
- 🐛 [GitHub Issues](https://github.com/lfnovo/open-notebook/issues) - 报告 bug 并请求功能
|
||
- 🌐 [Website](https://www.open-notebook.ai) - 了解更多项目信息
|
||
|
||
<p align="right">(<a href="#readme-top">返回顶部</a>)</p>
|
||
|
||
|
||
<!-- MARKDOWN LINKS & IMAGES -->
|
||
<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->
|
||
[contributors-shield]: https://img.shields.io/github/contributors/lfnovo/open-notebook.svg?style=for-the-badge
|
||
[contributors-url]: https://github.com/lfnovo/open-notebook/graphs/contributors
|
||
[forks-shield]: https://img.shields.io/github/forks/lfnovo/open-notebook.svg?style=for-the-badge
|
||
[forks-url]: https://github.com/lfnovo/open-notebook/network/members
|
||
[stars-shield]: https://img.shields.io/github/stars/lfnovo/open-notebook.svg?style=for-the-badge
|
||
[stars-url]: https://github.com/lfnovo/open-notebook/stargazers
|
||
[issues-shield]: https://img.shields.io/github/issues/lfnovo/open-notebook.svg?style=for-the-badge
|
||
[issues-url]: https://github.com/lfnovo/open-notebook/issues
|
||
[license-shield]: https://img.shields.io/github/license/lfnovo/open-notebook.svg?style=for-the-badge
|
||
[license-url]: https://github.com/lfnovo/open-notebook/blob/master/LICENSE.txt
|
||
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
|
||
[linkedin-url]: https://linkedin.com/in/lfnovo
|
||
[product-screenshot]: images/screenshot.png
|
||
[Next.js]: https://img.shields.io/badge/Next.js-000000?style=for-the-badge&logo=next.js&logoColor=white
|
||
[Next-url]: https://nextjs.org/
|
||
[React]: https://img.shields.io/badge/React-61DAFB?style=for-the-badge&logo=react&logoColor=black
|
||
[React-url]: https://reactjs.org/
|
||
[Python]: https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=white
|
||
[Python-url]: https://www.python.org/
|
||
[LangChain]: https://img.shields.io/badge/LangChain-3A3A3A?style=for-the-badge&logo=chainlink&logoColor=white
|
||
[LangChain-url]: https://www.langchain.com/
|
||
[SurrealDB]: https://img.shields.io/badge/SurrealDB-FF5E00?style=for-the-badge&logo=databricks&logoColor=white
|
||
[SurrealDB-url]: https://surrealdb.com/
|