跳转到主要内容

【privateGPT】使用privateGPT训练您自己的LLM

了解如何在不向提供商公开您的私人数据的情况下训练您自己的语言模型

使用OpenAI的ChatGPT等公共人工智能服务的主要担忧之一是将您的私人数据暴露给提供商的风险。对于商业用途,这仍然是考虑采用人工智能技术的公司最大的担忧。

很多时候,你想创建自己的语言模型,根据你的数据集(如销售见解、客户反馈等)进行训练,但同时你不想将所有这些敏感数据暴露给OpenAI等人工智能提供商。因此,理想的方法是在本地训练自己的LLM,而无需将数据上传到云。

如果你的数据是公开的,并且你不介意将它们暴露给ChatGPT,我有另一篇文章展示了如何将ChatGPT与你自己的数据连接起来:

【LLM】LangChain整合Gradio和LLM代理

编者按:这是Gradio的软件工程师Freddy Boulton的一篇客座博客文章。我们很高兴能分享这篇文章,因为它为生态系统带来了大量令人兴奋的新工具。代理在很大程度上是由他们所拥有的工具定义的,所以能够为他们配备所有这些gradio_tools对我们来说是非常令人兴奋的!

重要链接:

大型语言模型(LLM)给人留下了深刻的印象,但如果我们能赋予它们完成专门任务的技能,它们可以变得更加强大。

【LLM】LangChain 利用上下文压缩改进文档检索

注意:这篇文章假设你对LangChain有一定的熟悉程度,并且是适度的技术性文章。

💡 TL;DR:我们引入了新的抽象和新的文档检索器,以便于对检索到的文档进行后处理。具体来说,新的抽象使得获取一组检索到的文档并仅从中提取与给定查询相关的信息变得容易。

介绍

许多LLM支持的应用程序需要一些可查询的文档存储,以便检索尚未烘焙到LLM中的特定于应用程序的信息。

假设你想创建一个聊天机器人,可以回答有关你个人笔记的问题。一种简单的方法是将笔记嵌入大小相等的块中,并将嵌入的内容存储在向量存储中。当你问系统一个问题时,它会嵌入你的问题,在向量存储中执行相似性搜索,检索最相关的文档(文本块),并将它们附加到LLM提示中。

langchain

A simple retrieval Q&A system

【LLM】LangChain自定义代理

我们听到的最常见的要求之一是为创建自定义代理提供更好的功能和文档。这一直有点棘手,因为在我们看来,实际上还不清楚“代理”到底是什么,因此它们的“正确”抽象可能是什么。最近,我们感觉到一些抽象开始融合在一起,所以我们在Python和TypeScript模块上做了一个大的努力,以更好地执行和记录这些抽象。请参阅下面的技术文档链接,然后是我们介绍的抽象和未来方向的描述。

【LLM】LLMs 和 SQL

Francisco Ingham和Jon Luo是领导SQL集成变革的两名社区成员。我们真的很高兴能写这篇博客文章,让他们复习他们学到的所有技巧和窍门。我们更高兴地宣布,我们将与他们进行一个小时的网络研讨会,讨论这些知识并提出其他相关问题。本次网络研讨会将于3月22日举行-请在以下链接注册:

LangChain库有多个SQL链,甚至还有一个SQL代理,旨在使与存储在SQL中的数据的交互尽可能简单。以下是一些相关链接:

【LangChain】LangChain和原生矢量存储Chroma

今天,我们宣布LangChain与Chroma的集成,这是迈向现代A.I Stack的第一步。

LangChain-人工智能原生开发者工具包

我们启动LangChain的目的是建立一个模块化和灵活的框架,用于开发a.I原生应用程序。一些立即浮现在脑海中的用例是聊天机器人、问答服务和代理。成千上万的开发人员现在正在使用LangChain灵活、易于使用的框架进行黑客攻击、修补和构建各种LLM驱动的应用程序。

应用程序的关键组件之一是嵌入,以及保存和使用这些嵌入的向量存储。

我们注意到许多现有向量存储的一个痛点是,它们通常涉及连接到存储嵌入的外部服务器。虽然这对于将应用程序投入生产来说很好,但在本地轻松地原型化应用程序确实有点棘手。

我们为本地矢量存储提供的最佳解决方案是使用FAISS,许多社区成员指出,FAISS存在一些棘手的依赖关系,导致安装问题。

Chroma-人工智能原生矢量存储

Chroma的成立是为了构建利用嵌入功能的工具。嵌入是表示任何类型数据的人工智能原生方式,使其非常适合使用各种人工智能工具和算法。

【LLM】LangChain入门:构建LLM驱动的应用程序入门指南

LangChain教程,用于在Python中使用大型语言模型构建任何东西

Two stochastic parrots sitting on a chain of large language models: LangChain

“What did the stochastic parrot say to the other?” (Image drawn by the author)

自从ChatGPT发布以来,大型语言模型(LLM)获得了很大的流行。尽管你可能没有足够的资金和计算资源在地下室从头开始训练LLM,但你仍然可以使用预先训练的LLM来构建一些很酷的东西,例如:

  • 可以根据您的数据与外界互动的个人助理
  • 为您的目的定制聊天机器人
  • 对您的文档或代码进行分析或总结

LLM正在改变我们构建人工智能产品的方式

【LLM】LangChain的LangFlow

LangFlow是LangChain的一个GUI,可以轻松地进行LLM应用程序和提示链接的实验和原型制作。

LangFlow是一个基于LangChain的本地LLM图形开发接口。如果你以任何方式熟悉LangChain,在链、代理和提示工程方面,这个开发界面都会感觉非常直观。

在下图中,是所有可用组件分组的列表。展开后,可以看到链、提示、代理和LLM的开发可供性列表。这个列表肯定会随着兴趣的增加而增加。

以下是关于如何构建一个非常简单的LLM Chaining应用程序以及如何与该应用程序聊天的简短教程。

要构建最简单的LLM应用程序,需要选择三个组件并将其拖到设计画布上:

【LLM】LangChain 代理和大型语言模型

目前在LLM上开发的方法正在迅速发展,即时工程在某种程度上被链接和代理的概念所吸收。

在最近的一篇文章中,我写到了即时工程的演变,以及即时工程是如何被吸收到更大的开发结构中的。

这些更大的开发结构允许:

  1. 更长、更复杂的用户交互
  2. 进程可以串行或并行运行
  3. 提示可以编程、共享、存储和模板化
  4. 链接是创建提示流或提示序列的概念。

对于现有流退出并且可以创建预先确定的会话或工作流的情况,Chaining工作得很好。

另一方面,在流量未知或高度不可预测的情况下,链接并不能很好地服务于场景。在这些情况下,预定的流程将不能很好地工作,并且需要一定程度的自主权。

 

什么是代理?

代理可以通过使用其可支配的一组工具或资源来接收查询。这些工具可以包括访问维基百科、网络搜索、数学库、LLM等。