LangChain-2023 AI应用发展回顾

火山方舟向量数据库人工智能与算法

本文译自LangChain State of AI 2023一文

picture.image LangChain2023年人工智能现状

2023年,随着ChatGPT的爆火,生成式AI的关注度也爆发式增长。所有公司从创业公司到头部企业 都在(并且仍在)试图找出自己的生成式AI策略。

  • 我们如何将生成式AI整合到产品中?
  • 我们应该遵循什么参考架构?
  • 我们的用例最适合哪些模型?
  • 我们应该使用什么技术栈?
  • 我们如何测试大语言模型应用程序?

这些都是公司都在自问的问题。在这样的不确定性时期,每个人也都想知道其他人在做什么。目前已经有一些尝试,试图通过开放数据的统计来回答这些问题state-of-ai-2023。但凭借LangChain在生态系统中的独特地位,我们觉得我们可以真正洞察团队是如何实际上 使用大语言模型构建的。

为此,我们转向LangSmith中的匿名元数据。LangSmith是我们的云平台,旨在轻松从原型过渡到生产。它提供了跟踪、回归测试和评估等功能。

通过这些,我们可以回答关于人们在构建什么 、他们如何构建 这些东西以及如何测试 这些应用程序的问题。所有统计数据均取自2023-07-02至2023-12-11。

人们在构建什么?

picture.image 人们在构建什么

这里我们看看人们正在构建的一些常见内容。

尽管LangSmith与LangChain 完美集成,但它也很容易在LangChain生态系统之外使用。我们看到LangSmith中的使用量中约15%来自未使用LangChain的用户。我们为使入门过程适用于上述所有组件的无论您是否使用LangChain都能保证工作正常做了大量工作。

检索 已成为将自己的数据与大语言模型结合的主要方式。LangChain与60多个向量存储集成(索引非结构化数据的最常见方式)。LangChain还提供许多高级检索策略。我们看到42%的复杂查询涉及检索——这既体现了检索的重要性,也体现了LangChain简化检索所带来的易用性。

最后,我们看到约17%的复杂查询属于代理的一部分。代理涉及让大语言模型决定采取哪些步骤,这使您的系统能够更好地处理复杂查询或边缘案例。然而,由于可靠性或执行性仍然不高,这可能就是我们没有看到更多使用的原因。

LCEL的使用情况

picture.image LCEL

近几个月LangChain新增的重大功能之一是LangChain表达式语言(LCEL)。这是一种轻松组合组件的简单方法,非常适合创建复杂的自定义链。对于这个刚刚起步的生成式AI时代,每个人都在尝试找出大语言模型如何精确满足他们的需求。这需要大量的实验和定制。LCEL使这变得很容易——我们看到随着功能的增加和文档的改进,过去几个月中LCEL的使用量快速增长。

最常用的大语言模型提供商

picture.image 最常用的大语言模型提供商

这其中的新技术是大语言模型。那么用户使用的是哪些大语言模型提供商呢?

在首位毫不奇怪的是OpenAI,紧随其后的是AzureOpenAI。OpenAI已成为2023年领先的大语言模型提供商,Azure(提供更多企业保证)也抓住了这一势头。

其他提供专有模型的托管服务包括Anthropic(第3名)、Vertex AI(第4名)和Amazon Bedrock(第8名)。

在开源模型方面,我们看到Hugging Face(第4名)、Fireworks AI(第6名)和 Ollama(第7名)成为用户与这些模型交互的主要方式。

需要注意的是,这些排名基于使用给定提供商的用户数量。

最常用的开源大语言模型提供商

picture.image 最常用的开源大语言模型提供商

最近一直在讨论开源模型,越来越多的提供商在以越来越低的成本提供这些模型。那么开发人员到底是如何访问这些开源模型的呢?

我们看到人们主要是在本地运行它们,常用的本地运行选项包括Hugging Face、LlamaCpp、Ollama和GPT4All。

在提供开源模型API访问的提供商中,Fireworks AI居首,其次是Replicate、Together和 Anyscale。

需要注意的是,这些排名基于使用给定提供商的用户数量。

最常用的向量存储

picture.image 最常用的向量存储

正如前面提到的,检索是大语言模型应用程序的重要组成部分。向量存储正在成为检索相关上下文的主要方式。在LangChain中,我们与60多个向量存储 集成——最常用的有哪些呢?

我们看到本地向量存储是使用量最大的,其中Chroma、FAISS、Qdrant和DocArray均进入前5名。如果根据用户数量来计算,那么使用量最大的自然就是本地的免费向量存储。

在托管的提供商中,Pinecone 是唯一进入前5名的托管向量存储。Weaviate紧随其后,这表明原生向量数据库目前使用得比后添加向量功能的数据库更多。

在那些添加了向量功能的数据库中,我们看到领先的是Postgres (PGVector)、Supabase、Neo4j、Redis、Azure Search和Astra DB。

需要注意的是,这些排名基于使用给定提供商的用户数量。

最常用的嵌入

picture.image 最常用的嵌入

为了使用向量存储,您需要为文本片段计算嵌入。那么开发人员是如何做到这一点的呢?

与大语言模型类似,OpenAI占据主导地位——但之后我们看到了更多样化。开源提供商使用得更多一些,其中Hugging Face位居第二,GPT4All和Ollama也进入前8名。在托管提供商方面,我们看到Vertex AI实际上超过了 AzureOpenAI,Cohere和Amazon Bedrock也不遑多让。

最常用的高级检索策略

picture.image 最常用的高级检索策略

仅仅依赖嵌入的余弦相似性的检索只能达到很有限的效果。我们看到许多人依赖于高级检索策略——LangChain中实现并记录了其中的许多。

即便如此,我们看到的最常用检索策略不是内置的,而是一个定制的。这表明了在LangChain中实现自定义检索策略的简易性,也说明了为实现最佳性能而需要实现自定义逻辑。

其次,我们看到了更熟悉的名字出现:

  • Self Query 从用户的问题中提取元数据过滤器
  • Hybrid Search 主要通过 Supabase 和 Pinecone 等提供商的集成实现
  • Contextual Compression 基本检索结果的后处理
  • Multi Query 将单个查询转换为多个查询,检索所有查询的结果
  • TimeWeighted VectorStore 给予更多优先权给最近的文档

人们如何测试?

picture.image 人们如何测试

评估和测试已成为开发人员在构建大语言模型应用程序时遇到的最大痛点之一,而LangSmith已成为最佳测试方式之一。

我们看到大多数用户都能制定一些指标来评估他们的大语言模型应用程序——83%的测试运行都具有某种形式的反馈。在具有反馈的运行中,平均有2.3种不同类型的反馈,这表明开发人员难以完全依赖单一指标,而是使用多种不同指标来评估。

在记录的反馈中,大多数使用大语言模型来评估输出。尽管一些人对此表示担忧和犹豫,但我们对这种方法持乐观态度,并且看到在实践中它已成为主流的测试方式。另一个值得注意的数据是近40%的评估器是自定义评估器。这与我们观察到的事实一致,即评估通常非常特定于正在处理的应用程序,并且没有一种通用的评估器可以依赖。

人们在测试什么?

picture.image 人们在测试什么

我们可以看到大多数人仍主要关注他们的应用程序的正确性(而不是有毒性、提示泄漏或其他防护措施)。我们还可以从精确匹配作为评估技术的低使用率中看出,判断正确性通常非常复杂(您无法简单地按原样比较输出)!

结论

随着第一年的大语言模型应用程序开发走向尾声,我们听到许多团队希望缩小从原型到生产之间的差距。希望通过分享这些使用统计数据可以加深人们对构建什么如何构建 这些东西以及如何测试 这些东西的了解。

今天的内容就到这里,如果老铁觉得还行,可以来一波三连,感谢!

PS

AI小智技术交流群(技术交流、摸鱼、白嫖课程为主)又不定时开放了,感兴趣的朋友,可以在下方公号内回复:666,即可进入。

老规矩

,道友们还记得么,

右下角的 “在看” 点一下

, 如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论