架构
本文档讨论了聊天 UI 代码库的高级概述。如果您正在寻求贡献或只是想了解代码库的工作原理,这里就是您的最佳去处!
概述
聊天 UI 提供了一个简单的接口,将大型语言模型连接到外部信息和工具。该项目使用 MongoDB 和 SvelteKit 以及 Tailwind。
代码映射
本节简要讨论了代码库的各个模块。标题不是路径,因为代码库结构可能会发生变化。
路由
提供所有通过 SvelteKit 使用 SSR 渲染的路由。大多数后端和前端逻辑都可以在此处找到,一些模块被提取到 lib
中供客户端使用,并提取到 lib/server
中供服务器使用。
文本生成
为大多数聊天功能(如模型输出、网络搜索、助手和工具)提供标准接口。输出 MessageUpdate
,提供请求状态的细粒度更新,例如新令牌和网络搜索结果。
端点 / 嵌入端点
为许多第三方 LLM 和嵌入提供商提供通用的流式接口。
网页搜索
实现网页搜索查询和检索增强生成。更多信息请参见网页搜索部分。
工具
提供LLM调用的外部工具的通用接口。更多信息请参见工具部分。
迁移
包含所有用于维护架构更改之间向后兼容性的MongoDB迁移。对架构的任何更改都必须包含迁移。
< > 在GitHub上更新