langchain入门篇:利用Python + LangChain + 通义千问,轻松打造你的专属聊天机器人

什么是langchain

是一个用于开发由语言模型驱动的应用程序的框架,致力于简化AI模型应用的开发.简单来说,langchain就是一个帮助开发者轻松完成AI模型应用开发的框架,现在支持python和js两个版本,它集成多种大语言模型及第三方api.

这篇文章将在python环境下使用langchain白嫖通义千问大模型,实现一个最简单的简单AI聊天机器人废话少说,直接进入正题:

1.安装langchain

打开cmd,输入命令安装环境

 pip install langchain #安装langchain环境
 pip install langchain-community #安装第三方集成,就是各种大语言模型
 pip install python-dotenv #加载工具
 pip install dashscope #灵积模型服务

2.准备工作

写代码之前先做一个准备工作-拿到阿里云灵积模型服务的apikey

1.登录或者注册

点击右上角进行注册账号,有账号的可以直接登录 image.png

2.搜索灵积模型服务,开通服务

点击立即开通,开启零元乐享.

image.png

  1. 进入产品控制台,创建api-key

进入API-KEY管理,同时记住这个qwen-max

image.png

创建一个api-key,这个api-key要好好保存,不慎遗失了,可以在查看里面找到这个key

image.png

3.写代码

在VScode或者PyCharm中编辑都行,创建好文件后就要开始编写代码了.

1.导入相关包

#导入相关包
import os
from dotenv import find_dotenv, load_dotenv
load_dotenv(find_dotenv())
DASHSCOPE_API_KEY=os.environ["DASHSCOPE_API_KEY"]
from langchain_community.llms import Tongyi
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate

os,dotenv都是用来加载环境变量DASHSCOPE_API_KEY的

Tongyi就是这里使用的通义千问大语言模型

PromptTemplate是提示词模板,用来给大模型做回答限制的,他会按照提示词模板的内容进行回答,跟模型的智慧程度有关,数据集越大的模型根据提示词做的回答越好,后期做Agent的效果越好.

LLMChain就是用来把LLM和prompt进行联系的

2.实例化一个llm,定义它的角色

llm=Tongyi(temperature=1)
template='''
        你的名字是小黑子,当人问问题的时候,你都会在开头加上'唱,跳,rap,篮球!',然后再回答{question}
    '''
prompt=PromptTemplate(
        template=template,
        input_variables=["question"]#这个question就是用户输入的内容,这行代码不可缺少
)
chain = LLMChain(#将llm与prompt联系起来
        llm=llm,
        prompt=prompt
        )
question='你是谁'

res=chain.invoke(question)#运行
    
print(res['text'])#打印结果

temperature=1是调节文本多样性的,让回答更加丰富,为0时就会更加准确,大于0回答的就会带有llm的思维回答(可能会胡编乱造) res['text']就是回答内容了,回答的一个字典包含了question和text

3.创建一个.env文件

DASHSCOPE_API_KEY="你的apikey"

4.关键点,修改langchain的底层代码

按住ctrl点击鼠标左键进入llms, image.png

ctrl+F搜索tongyi,再点进去 image.png

再搜索qwen,找到这个qwen-plus将他修改成qwen-max

image.png

白嫖成功,看看输出结果

image.png

更多有趣的langchain程序,持续更新~

在这里插入图片描述

AI大模型学习路线

如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!

扫描下方csdn官方合作二维码获取哦!

在这里插入图片描述

这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!

请添加图片描述
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

100套AI大模型商业化落地方案

请添加图片描述

大模型全套视频教程

请添加图片描述

200本大模型PDF书籍

请添加图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

LLM面试题合集

请添加图片描述

大模型产品经理资源合集

请添加图片描述

大模型项目实战合集

请添加图片描述

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

<think>好的,我现在需要解决用户在使用R语言安装'future'包时遇到的依赖问题,具体是'parallelly'包的版本要求不满足(需要>=1.44.0)。用户之前提到尝试安装时出现错误,现在需要找到解决方案。 首先,我要回顾用户提供的引用内容。引用[1]中提到,如果BiocManager安装不上依赖包,可能是因为版本不兼容,建议手动安装特定版本的包,比如通过install.packages指定tar.gz文件路径或URL。这可能适用于用户的情况,因为'parallelly'版本过低,可能需要手动安装新版本。 引用[2]中的方法是通过比较已安装的包列表来检查缺失的包,但用户的问题不是缺失包,而是版本过低,所以可能需要先检查已安装的'parallelly'版本,然后升级它。 引用[3]主要涉及CentOS服务器上安装RStudio Server的步骤,可能和当前问题关联不大,但需要注意如果用户是在服务器环境下,可能需要管理员权限来安装或更新包,或者配置环境变量。 引用[4]展示了如何加载多个R包,其中提到了设置options(future.globals.maxSize),这可能影响包的运行,但和安装时的依赖问题关系不大。 接下来结合用户之前的提问,之前的回答中提到了检查R版本、编译工具链、权限、依赖包升级等方法。用户现在的问题明确是'parallelly'版本过低,所以需要针对性解决这个问题。 可能的解决方案步骤: 1. **检查当前'parallelly'版本**:用户需要确认当前安装的版本是否低于1.44.0。可以通过installed.packages()或packageVersion函数查看。 2. **升级'parallelly'包**:如果版本过低,使用install.packages("parallelly")尝试自动升级。如果默认仓库没有最新版本,可能需要手动指定版本,如引用[1]中提到的用install.packages()的URL方式或本地tar.gz文件。 3. **使用remotes或devtools安装特定版本**:这些包可以帮助从GitHub或CRAN存档安装旧版本或最新版本。 4. **处理依赖冲突**:如果其他已安装的包依赖于旧版本的'parallelly',可能需要先卸载那些包,或者创建一个隔离的环境(如renv)来管理依赖。 5. **权限问题**:如果安装到系统目录没有权限,可以设置用户级库路径,或者用管理员权限运行R。 6. **检查安装后的依赖**:安装完'parallelly'后,再次尝试安装'future',确保其他依赖也满足。 需要注意用户可能遇到的常见问题,比如网络问题导致无法下载最新包,这时候需要更换CRAN镜像源,如之前的回答中提到的清华源。另外,如果用户的环境中有其他包依赖旧版'parallelly',可能需要处理版本冲突,这可能需要更新或卸载那些包。 如果用户是在Linux服务器上,可能需要通过命令行安装系统依赖,或者确保有足够的权限。例如,在CentOS上可能需要sudo权限,或者配置正确的环境变量。 最后,如果所有方法都失败,建议用户提供详细的错误日志和sessionInfo()输出,以便进一步诊断。同时,引用之前回答中的renv环境隔离方法,可以帮助避免全局依赖冲突。</think>### 解决方案:解决`future`包因`parallelly`版本不满足要求(≥1.44.0)的安装错误 --- #### **1. 检查当前`parallelly`版本** 在R中运行以下代码确认已安装的`parallelly`版本: ```r packageVersion("parallelly") # 输出示例:'1.36.0' ``` 若版本低于`1.44.0`,需手动升级。 --- #### **2. 升级`parallelly`包** 根据错误原因选择以下方法: - **方法1:通过CRAN直接安装最新版** ```r install.packages("parallelly", dependencies = TRUE) ``` 若提示权限问题,参考[权限配置](#三权限问题处理)修改安装路径或用管理员权限运行R。 - **方法2:指定版本安装(若CRAN无最新版)** 使用`remotes`包从CRAN存档安装特定版本(例如`1.44.0`): ```r install.packages("remotes") remotes::install_version("parallelly", version = "1.44.0") ``` 若网络受限,可手动下载`.tar.gz`文件并本地安装[^1]: ```r install.packages("~/Downloads/parallelly_1.44.0.tar.gz", repos = NULL, type = "source") ``` --- #### **3. 处理依赖冲突** 若其他包依赖旧版`parallelly`,需解决版本冲突: 1. **卸载冲突包**: ```r remove.packages(c("冲突包名")) # 例如:`foreach`, `doParallel` ``` 2. **安装新版`parallelly`后重装冲突包**: ```r install.packages(c("foreach", "doParallel")) # 自动匹配新版依赖 ``` --- #### **4. 强制安装`future`并跳过依赖检查(慎用)** 若确认环境兼容,可跳过依赖检查直接安装`future`: ```r install.packages("future", dependencies = FALSE) ``` ⚠️ 此操作可能导致运行时错误,建议仅在测试环境使用。 --- #### **5. 使用环境隔离工具`renv`** 创建独立环境避免全局依赖冲突[^3]: ```r # 初始化环境 renv::init() # 安装指定版本parallelly renv::install("parallelly@1.44.0") # 安装future renv::install("future") renv::snapshot() # 生成版本锁文件 ``` --- #### **6. 检查系统依赖(Linux/macOS)** 某些情况下需更新系统库: - **Ubuntu/Debian**: ```bash sudo apt-get update && sudo apt-get install libcurl4-openssl-dev libssl-dev ``` - **macOS**: ```bash brew update && brew install openssl@3 ``` --- ### **关键操作总结** | 步骤 | 操作 | 命令示例 | |------|------|----------| | 1 | 检查`parallelly`版本 | `packageVersion("parallelly")` | | 2 | 升级`parallelly` | `install.packages("parallelly")` 或 `remotes::install_version()` | | 3 | 处理冲突包 | `remove.packages("冲突包名")` | | 4 | 使用`renv`隔离环境 | `renv::init(); renv::install("parallelly@1.44.0")` | --- ### **相关问题** 1. 如何批量检查R包的版本兼容性? 2. `renv`如何回滚到之前的依赖版本? 3. 如何解决R包安装时的“无法卸载已加载包”错误? 若仍报错,请提供以下信息以便进一步诊断: - `sessionInfo()`输出 - 完整的安装日志(从R控制台复制) - 操作系统及R版本详情[^1][^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值