跳转到主要内容

Origin Web Browser

[编者按]:这是众多客串帖子中的第二篇。我们打算重点介绍构建在LangChain之上的新型应用程序。如果您有兴趣与我们合作,请联系harrison@langchain.dev.

作者:Parth Asawa(pgasawa@)、Ayushi Batwara(Ayushi.Batwara@)、Jason Ding(jasonding@)、Arvind Rajaraman(Arvind.Rajaraman@)[@berkeley.edu]

链接到原始博客文章

问题

你的浏览器以前是这样的吗?


可能有一段时间,在不同的窗口中打开的选项卡太多,无法计数。为什么?因为我们从来不会一次只做一件事。作为学生,你可能会打开不同课程、不同项目、活动等的选项卡,作为开发人员,你可能有不同的项目、计划选项卡等。你明白了。

您可能已经尝试了一个解决方案,但是-tab组:


但是这些标签组完成了什么?他们摆脱了他们想要摆脱的杂物吗?不。相反,我们最终打开了越来越多的选项卡,希望有一天我们能使用那个丢失已久的选项卡中的那一段。打开的选项卡越多,上下文切换就越困难;一切都很混乱。

知识也变得过时了——很难持续跟踪所有标签上的信息,在大多数情况下,我们都会忘记它。没有知识集中的概念。

使命

鉴于人们在当前的浏览体验中面临的这个普遍存在的问题,在相当长的一段时间内没有出现任何激进的创新或变化,我们开始用Origin来打破这个问题。

我们都是加州大学伯克利分校的学生,目前正在通过管理、创业和技术(M.E.T.)项目攻读EECS和工商管理双学位。

这个项目是我们在斯坦福大学的年度黑客马拉松TreeHacks上花了36个小时建立起来的。

Origin是一款应用程序,可以获取您现有的浏览器历史记录,并通过自动生成的摘要将其组织到上下文感知的工作区,然后提供特定于工作区的语义搜索、推荐系统和聊天机器人。

我们会记录您的浏览历史,创建嵌入,并自动运行聚类算法来学习工作空间。我们支持语义搜索,可以轻松地在工作区中找到不同的URL,因此您永远不必害怕关闭选项卡;然后,我们抓取网站以创建摘要,并在每个工作区使用高度特定的ChatBot。这允许知识的集中化、对现有知识的轻松访问以及对知识的持久性——即使你关闭一个选项卡,它也会存在。

V0登录页示例,其中包含一些学习过的工作空间:

技术下潜

在这篇博客文章中,我们将主要关注LangChain如何融入我们的项目。顺便说一句,我们依靠一些传统的ML和统计技术,如K-Means、协作过滤、现成的HF嵌入等,来结合一些其他功能,如聚类、语义搜索、推荐系统等。

我们将LangChain纳入了MVP浏览器体验的两个关键方面,这两个方面在您启动工作区时会发生。

概述

第一个是总结。我们想要一种有效的方式来提醒用户他们在工作区中的停留位置。使用BeautifulSoup,我们开发了一个web scraper来解析最近访问的网站。根据这些信息,我们想要一种生成有效摘要的方法,并依靠LangChain的“map_reduce”摘要链,使用OpenAI嵌入有效地总结大量文本。


聊天机器人

第二个功能是“与浏览器聊天”用户的知识分布在数百个选项卡上,他们很少重新访问这些选项卡,也很少花时间进行解析。但是,如果用户想要一种简单的方式与他们的知识进行交互,那就不存在了。不过,一个可以访问这些浏览器中所有信息的聊天机器人确实可以。使用相同的网络抓取器,我们遵循LangChain的Chat Your Data示例所设置的模型,将文本分解为更小的块,然后嵌入并存储在向量库中。然后,该向量库在服务时被用作ChatVectorDBChain的一部分,以基于OpenAI模型为我们的聊天机器人提供上下文,并对用户的工作空间上下文生成高度特定的响应。


结论和未来方向

尽管有这么多有趣的探索,但有很多事情需要思考,这些事情在现实世界中是无法扩展的。例如,标准GPT-3模型的计算成本很高,而且我们使用它们的方式可能不可持续。我们认为,任何将LLM集成到产品中的公司都将面临一个有趣的挑战,那就是找出优化LLM使用成本的方法。

超越黑客马拉松项目,将其视为一个真正的产品,我们可能会从头开始重新设计,并专注于正确处理一些关键的技术功能和流程,使其真正提供一个基准水平的价值,然后再尝试添加一些更花哨的功能。以摘要工具为例,虽然这在目前很酷,但如果没有更多选择性的过滤和工程,很难真正提取出对用户有用的工作空间摘要。我们很高兴现在能花一些时间思考这些更具挑战性的工程和设计问题——LangChain是一个肯定会被使用的工具!