Jupyter中的生成式 AI

2023年08月07日 由 alex 发表 661 0

介绍

Jupyter AI为Jupyter Notebook 带来了生成式AI,使用户能够解释和生成代码、修复错误、总结内容、询问有关本地文件的问题,并从自然语言提示生成整个笔记本。使用其命令和聊天界面,Jupyter AI将Jupyter与来自AI21, Anthropic, AWS, Cohere和OpenAI等提供商的大型语言模型(LLM)连接起来。我们使用LangChain来支持所有流行的LLM和提供商,让你在新模型发布时访问它们。LangChain也会让Jupyter AI使用本地模型。用于JupyterLab 3的Jupyter AI版本1.0和用于JupyterLab 4的Jupyter AI 2.0现在都是免费的开源软件。


Jupyter AI在设计时考虑了负责任的AI和数据隐私。你可以选择最适合你需要的LLM、嵌入模型和矢量数据库。底层的提示、链和其他软件都是开源的,因此你可以准确地看到数据是如何被使用的。Jupyter AI在每个AI生成的代码单元中保存有关模型生成内容的元数据,因此你和你的合作者可以跟踪AI生成的代码进入你的工作流程的位置。最后,Jupyter AI只会在你要求时直接联系LLM;未经你明确同意,它不会读取你的数据或将其传输给模特。


Jupyter AI是Project Jupyter的官方子项目,现在可以作为免费的开源软件使用。


Jupyter AI入门


通过使用pip安装相应版本来开始使用Jupyter AI:


2


然后,启动JupyterLab。Jupyter AI提供两种不同的接口与LLM交互。在JupyterLab中,你可以与聊天UI交谈,以帮助你编写代码。此外,在任何受支持的笔记本或IPython环境中,包括JupyterLab、Notebook、IPython、Colab和Visual Studio Code,都可以使用%%aimagic命令调用LLM。Jupyter AI可以将任何Jupyter Notebook会话转换为支持文本和图像模型的生成AI游乐场。


Jupyter项目与供应商无关,因此Jupyter AI支持来自AI21、Anthropic、AWS、Cohere、HuggingFace Hub和OpenAI的LLM。


聊天界面有自己的配置面板,用于选择语言模型和嵌入模型,以及对每个模型的提供者进行身份验证。语言模型在聊天面板中响应用户的消息。当你要求聊天界面了解本地文件时,它会使用嵌入模型来解析这些文件,并在你提出有关这些文件的问题时提供帮助。


聊天界面,你的AI助手


聊天界面使你可以与Jupyternaut进行对话,Jupyternaut是使用你选择的语言模型的会话代理。


3


Jupyternaut主要通过文本进行通信,它也可以与JupyterLab中的文件进行交互。它可以作为一个通用的人工智能助手回答问题,包括从你的笔记本中选择你的问题,将人工智能生成的输出插入到你的笔记本中,从你的本地文件中学习并提出问题,并根据提示生成笔记本。Jupyternaut只能看到你通过发送聊天命令发送给它的信息;它只在你明确要求时读取你的数据。


首先,你可以问Jupyternaut一个问题:


4


你也可以突出你笔记本的一部分,并把它包含在你的提示中。


5


使用包含所选代码的提示符,你可以要求Jupyternaut用简单的英语(或它可以使用的任何其他语言)解释你的代码,对其进行修改,并识别其中的错误。如果你愿意,Jupyternaut甚至可以用它的响应来替换你的选择。请在运行AI生成的代码之前检查它,就像检查其他人编写的代码一样。


例如,你可以要求Jupyternaut通过添加注释来重写代码:


6


Jupyternaut将代码发送到你选择的语言模型,然后用语言模型的响应替换选择。


7


根据文本提示生成笔记本


Jupyter AI的聊天界面可以从一个文本提示生成一个完整的笔记本。为此,运行/generate命令并提供文本描述。Jupyternaut将使用其人工智能语言模型来命名工作簿,并填充标记和代码单元格。这可能需要几分钟。当Jupyternaut工作时,你可以继续使用聊天UI,并且Jupyternaut将继续生成你的笔记本。


8


Jupyternaut完成生成你的笔记本,它将向你发送带有其文件名的消息,以便你可以打开它。请在运行任何人工智能驱动的代码之前对其进行检查


9


学习并询问本地文件


你可以使用/learn命令教Jupyternaut有关本地文件的知识,以便你可以使用/ask命令询问有关它们的问题。例如,使用/learn命令,你可以教Jupyternaut关于Jupyter AI的文档:


10


当你学习本地文件时,Jupyternaut使用嵌入模型转换数据,然后将输出存储在本地矢量数据库中。请查看每个模型的隐私政策,并了解与第三方模型提供商共享你的本地数据的任何限制。学习过程完成后,你可以使用/ask命令提出问题。使用检索增强生成(RAG), Jupyternaut将从其矢量数据库中添加相关信息到你的问题,然后它将使用你选择的AI语言模型来回答你的问题。


11


笔记本是具有神奇命令的生成AI游乐场


Jupyter AI还提供了可以在笔记本单元格和IPython命令行界面中运行的神奇命令。首先,运行%load_ext jupyter_ai_magics,这将加载magics扩展。然后,你可以使用%% AI魔术命令来使用Jupyter AI。你可以运行%ai help来了解使用%ai line magic和%%ai cell magic命令可以运行的所有选项和命令。


每个%%ai命令都需要一个模型,通常指定为provider - id:model - id。要使用特定的提供程序,你需要使用适当的环境变量或Python模块设置其API密钥。


12


可以使用-f或——format参数自定义输出的格式,包括HTML、数学、源代码和图像。


13


你可以将变量名或表达式用大括号括起来,在提示符中插入变量名或表达式。


14


插值也适用于特殊的In和Out变量,它们包含代码单元的输入和输出。注意,单元格输出可以同时包含文本值和标记值。


15


Jupyter AI添加了一个特殊的Err变量,用于存储执行代码时发生的错误。通过将这个变量插入到提示符中,你可以使用AI语言模型来解释和纠正代码中的错误。


16



文章来源:https://medium.com/jupyter-blog/generative-ai-in-jupyter-3f7174824862
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
写评论取消
回复取消