跳转到主要内容

标签(标签)

资源精选(342) Go开发(108) Go语言(103) Go(99) angular(82) LLM(75) 大语言模型(63) 人工智能(53) 前端开发(50) LangChain(43) golang(43) 机器学习(39) Go工程师(38) Go程序员(38) Go开发者(36) React(33) Go基础(29) Python(24) Vue(22) Web开发(20) Web技术(19) 精选资源(19) 深度学习(19) Java(18) ChatGTP(17) Cookie(16) android(16) 前端框架(13) JavaScript(13) Next.js(12) 安卓(11) typescript(10) 资料精选(10) NLP(10) 第三方Cookie(9) Redwoodjs(9) LLMOps(9) Go语言中级开发(9) 自然语言处理(9) 聊天机器人(9) PostgreSQL(9) 区块链(9) mlops(9) 安全(9) 全栈开发(8) ChatGPT(8) OpenAI(8) Linux(8) AI(8) GraphQL(8) iOS(8) 软件架构(7) Go语言高级开发(7) AWS(7) C++(7) 数据科学(7) whisper(6) Prisma(6) 隐私保护(6) RAG(6) JSON(6) DevOps(6) 数据可视化(6) wasm(6) 计算机视觉(6) 算法(6) Rust(6) 微服务(6) 隐私沙盒(5) FedCM(5) 语音识别(5) Angular开发(5) 快速应用开发(5) 提示工程(5) Agent(5) LLaMA(5) 低代码开发(5) Go测试(5) gorm(5) REST API(5) 推荐系统(5) WebAssembly(5) GameDev(5) CMS(5) CSS(5) machine-learning(5) 机器人(5) 游戏开发(5) Blockchain(5) Web安全(5) Kotlin(5) 低代码平台(5) 机器学习资源(5) Go资源(5) Nodejs(5) PHP(5) Swift(5) 智能体(4) devin(4) Blitz(4) javascript框架(4) Redwood(4) GDPR(4) 生成式人工智能(4) Angular16(4) Alpaca(4) SAML(4) JWT(4) JSON处理(4) Go并发(4) kafka(4) 移动开发(4) 移动应用(4) security(4) 隐私(4) spring-boot(4) 物联网(4) nextjs(4) 网络安全(4) API(4) Ruby(4) 信息安全(4) flutter(4) 专家智能体(3) Chrome(3) CHIPS(3) 3PC(3) SSE(3) 人工智能软件工程师(3) LLM Agent(3) Remix(3) Ubuntu(3) GPT4All(3) 软件开发(3) 问答系统(3) 开发工具(3) 最佳实践(3) RxJS(3) SSR(3) Node.js(3) Dolly(3) 移动应用开发(3) 编程语言(3) 低代码(3) IAM(3) Web框架(3) CORS(3) 基准测试(3) Go语言数据库开发(3) Oauth2(3) 并发(3) 主题(3) Theme(3) earth(3) nginx(3) 软件工程(3) azure(3) keycloak(3) 生产力工具(3) gpt3(3) 工作流(3) C(3) jupyter(3) 认证(3) prometheus(3) GAN(3) Spring(3) 逆向工程(3) 应用安全(3) Docker(3) Django(3) R(3) .NET(3) 大数据(3) Hacking(3) 渗透测试(3) C++资源(3) Mac(3) 微信小程序(3) Python资源(3) JHipster(3) 大型语言模型(2) 语言模型(2) 可穿戴设备(2) JDK(2) SQL(2) Apache(2) Hashicorp Vault(2) Spring Cloud Vault(2) Go语言Web开发(2) Go测试工程师(2) WebSocket(2) 容器化(2) AES(2) 加密(2) 输入验证(2) ORM(2) Fiber(2) Postgres(2) Gorilla Mux(2) Go数据库开发(2) 模块(2) 泛型(2) 指针(2) HTTP(2) PostgreSQL开发(2) Vault(2) K8s(2) Spring boot(2) R语言(2) 深度学习资源(2) 半监督学习(2) semi-supervised-learning(2) architecture(2) 普罗米修斯(2) 嵌入模型(2) productivity(2) 编码(2) Qt(2) 前端(2) Rust语言(2) NeRF(2) 神经辐射场(2) 元宇宙(2) CPP(2) 数据分析(2) spark(2) 流处理(2) Ionic(2) 人体姿势估计(2) human-pose-estimation(2) 视频处理(2) deep-learning(2) kotlin语言(2) kotlin开发(2) burp(2) Chatbot(2) npm(2) quantum(2) OCR(2) 游戏(2) game(2) 内容管理系统(2) MySQL(2) python-books(2) pentest(2) opengl(2) IDE(2) 漏洞赏金(2) Web(2) 知识图谱(2) PyTorch(2) 数据库(2) reverse-engineering(2) 数据工程(2) swift开发(2) rest(2) robotics(2) ios-animation(2) 知识蒸馏(2) 安卓开发(2) nestjs(2) solidity(2) 爬虫(2) 面试(2) 容器(2) C++精选(2) 人工智能资源(2) Machine Learning(2) 备忘单(2) 编程书籍(2) angular资源(2) 速查表(2) cheatsheets(2) SecOps(2) mlops资源(2) R资源(2) DDD(2) 架构设计模式(2) 量化(2) Hacking资源(2) 强化学习(2) flask(2) 设计(2) 性能(2) Sysadmin(2) 系统管理员(2) Java资源(2) 机器学习精选(2) android资源(2) android-UI(2) Mac资源(2) iOS资源(2) Vue资源(2) flutter资源(2) JavaScript精选(2) JavaScript资源(2) Rust开发(2) deeplearning(2) RAD(2)

category

我们很高兴宣布在LangChain中提供流媒体支持。有很多关于LLM应用程序最佳用户体验的讨论,我们相信流媒体是其核心。我们还更新了chat langchain repo,以包括流和异步执行。我们希望这个回购可以作为开发人员构建一流聊天和问答应用程序的模板。

动机

开发人员在尝试构建有用的LLM应用程序时讨论的最大痛点之一是延迟;这些应用程序经常对LLM API进行多次调用,每次调用需要几秒钟的时间。盯着一个加载微调器看几秒钟以上可能会让用户感到非常沮丧。

流式处理通过逐个令牌而不是一次性返回LLM令牌的输出,有助于减少这种感知的延迟。在聊天应用程序的上下文中,当LLM生成令牌时,它可以立即提供给用户。虽然这不会改变从问题提交到完全响应的端到端执行时间,但它通过向用户显示LLM正在取得进展,大大减少了感知到的延迟。ChatGPT是利用LLM流的应用程序的一个很好的例子。我们构建了一个示例聊天机器人应用程序,该应用程序与ChatGPT一样使用流媒体(更多详细信息如下):

https://www.loom.com/share/a64b1def314a4884ab0526bf77d9fa65

用法

作为起点,我们已经实现了对LLM的OpenAI实现的流式支持。请阅读此处的完整文档。

我们支持一个名为on_llm_new_token的回调,当OpenAI的流参数设置为True时,用户可以在回调处理程序中实现该回调。同步和异步执行都支持流式处理。

Web应用程序模板

既然你已经使用LangChain为Chat Your Data Challenge挑战(或其他应用程序)构建了一个聊天机器人,你可以在终端中运行,接下来会是什么?把这个程序变成一个多用户可以利用的网络应用程序怎么样?

我们已经对聊天语言链进行了一些更改,以强调如何将相关的语言链功能集成到一个可以支持许多用户的随时部署的应用程序中的最佳实践。该应用程序利用FastAPI作为后端,并使用Jinja模板制作了一个非常基本的UI。回购仍然是开源的-欢迎更改和建议!

流(Streaming)

该应用程序利用LangChain流,并实现StreamingLLMCallbackHandler,通过websocket将每个令牌发送回客户端。另一个回调处理程序QuestionGenCallbackHandler用于在ChatVectorDBChain的问题生成步骤向客户端发送消息。

异步执行

该应用程序利用最近添加的对选择链和LLM的异步支持来支持并发执行(而不必生成多个线程和引发竞争)。当有多个客户端连接到应用程序时,这一点很重要:

https://www.loom.com/share/b07b00e0e39147e3ba43afbaae55a82d

下一个

我们才刚刚开始使用流媒体、回调和异步支持!我们希望得到任何反馈。在不久的将来,我们希望实施:

  • 对其他LLM的流式传输支持。
  • 回调处理程序的更多示例和用例。
文章链接