大语言模型(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 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

jupyter代码块没有运行图标的解决方案

《jupyter代码块没有运行图标的解决方案》:本文主要介绍jupyter代码块没有运行图标的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录jupyter代码块没有运行图标的解决1.找到Jupyter notebook的系统配置文件2.这时候一般会搜索到

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整