大语言模型(LLM)与 Jupyter 连接起来了!

2023-12-19 16:04

本文主要是介绍大语言模型(LLM)与 Jupyter 连接起来了!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

现在,大语言模型(LLM)与 Jupyter 连接起来了!

这主要归功于一个名叫 Jupyter AI 的项目,它是官方支持的 Project Jupyter 子项目。目前该项目已经完全开源,其连接的模型主要来自 AI21、Anthropic、AWS、Cohere、OpenAI 等各大明星公司和机构。

图片

项目地址:https://github.com/jupyterlab/jupyter-ai

有了大模型的加持,Jupyter 功能也发生了很大的变化。现在你可以在该环境中生成代码、总结文档、创建注释、修复错误等。你甚至可以使用文本 prompt 生成 notebooks。

Jupyter AI 的安装过程也非常简单,安装代码如下:

pip install 'jupyter-ai>=1.0,<2.0' # If you use JupyterLab 3
pip install jupyter-ai # If you use JupyterLab 4

技术交流

建了技术交流群!想要进交流群、获取如下原版资料的同学,可以直接加微信号:dkl88194。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。

方式①、添加微信号:dkl88194,备注:来自CSDN + 技术交流
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

资料1
在这里插入图片描述

资料2
在这里插入图片描述

此外,Jupyter AI 提供了两种不同的界面与 LLM 交互。在 JupyterLab 中,你可以使用聊天界面与 LLM 进行对话,以帮助处理代码。此外,在任何支持 notebook 或 IPython 的环境中,包括 JupyterLab、Notebook、IPython、Colab 和 Visual Studio Code,你可以使用 %% ai 魔术命令调用 LLM。

图片

大模型加持下的 Jupyter

接下来我们看看效果如何。

编程助手

Jupyter 聊天界面如下图所示,用户可以与 Jupyternaut(编程助手)进行对话。在 Jupyternaut 功能栏我们可以看到这样一句话「大家好,我是 Jupyternaut,你的编程助理。你可以使用文本框向我提问,也可以使用命令向我提问。」

图片

接下来,用户向 Jupyternaut 询问了一个问题:如「在 Python 中,元组和列表有什么区别?」Jupyternaut 给出了这两者的关键区别,并且回答的非常正确,最后还贴心的举了示例:

图片

假如有一部分代码你不是很了解,你可以选中这部分代码,并将其当做 prompt,然后要求 Jupyternaut 解释这段代码,除此之外,Jupyternaut 还能对代码进行修改、识别代码错误等。

图片

如果你对代码不满意,还可以让 Jupyternaut 按照要求重写代码:

图片

重写代码后,Jupyternaut 会将代码重新发送回用户选择的语言模型进行替换:

图片

从文本 prompt 生成 notebook

Jupyter AI 的聊天界面可以根据文本 prompt 生成一个完整的 notebook。想要实现这一点,用户需要运行「/generate」命令,外加一个文本描述。

图片

Jupyternaut 生成 notebook 后,会向用户发送一个包含文件名的消息,用户可以打开该文件进行查看:

图片

访问本地文件

你可以使用「/learn」命令让 Jupyternaut 学习本地文件,随后使用「/ask」命令询问有关本地文件的问题。举例来说,使用「/learn」命令,你可以让 Jupyternaut 学习关于 Jupyter AI 文档的知识:

图片

一旦 Jupyternaut 学习完成,你就可以使用「/ask」命令提出问题:

图片

魔法功能

Jupyter AI 还提供了可以在 notebook cells 和 IPython 命令行界面中运行的 %% ai 命令,每个 %% ai 命令都需要一个模型,通常指定为 provider‑id:model‑id:

图片

还有研究者体验了一下 %% ai 魔法命令,让其调用 ChatGPT :

图片

此外,你还可以使用 - f 或 --format 参数自定义输出的格式,包括 HTML、数学、源代码和图像,这对于研究人员和教育工作者来说非常有用。

图片

一番展示下来,有了大模型加持的 Jupyter 确实方便了很多。想要尝试的小伙伴,可以前去一试了。

这篇关于大语言模型(LLM)与 Jupyter 连接起来了!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/512823

相关文章

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Go语言中使用JWT进行身份验证的几种方式

《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi

Go 语言中的 Struct Tag 的用法详解

《Go语言中的StructTag的用法详解》在Go语言中,结构体字段标签(StructTag)是一种用于给字段添加元信息(metadata)的机制,常用于序列化(如JSON、XML)、ORM映... 目录一、结构体标签的基本语法二、json:"token"的具体含义三、常见的标签格式变体四、使用示例五、使用

Jupyter notebook安装步骤解读

《Jupyternotebook安装步骤解读》:本文主要介绍Jupyternotebook安装步骤,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、开始安装二、更改打开文件位置和快捷启动方式总结在安装Jupyter notebook 之前,确认您已安装pytho

Go语言使用slices包轻松实现排序功能

《Go语言使用slices包轻松实现排序功能》在Go语言开发中,对数据进行排序是常见的需求,Go1.18版本引入的slices包提供了简洁高效的排序解决方案,支持内置类型和用户自定义类型的排序操作,本... 目录一、内置类型排序:字符串与整数的应用1. 字符串切片排序2. 整数切片排序二、检查切片排序状态:

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细