当前位置: 首页 > news >正文

大语言模型学习--LangChain

LangChain基本概念

ReAct学习资料

https://zhuanlan.zhihu.com/p/660951271

LangChain官网地址

 Introduction | 🦜️🔗 LangChain

LangChain是一个基于语言模型开发应用程序的框架。它可以实现以下应用程序:
  • 数据感知:将语言模型连接到其他数据源
  • 自主性:允许语言模型与其环境进行交互

LangChain的主要价值在于:

  • 组件化:为使用语言模型提供抽象层,以及每个抽象层的一组实现。组件是模块化且易于使用的,无论您是否使用LangChain框架的其余部分。
  • 现成的链:结构化的组件集合,用于完成特定的高级任务

LangChain具体能力

优劣势

LangChain实践

本地环境安装

pip install langchain

langchain依赖关系

下面使用Langchain来集成阿里的通义千问

首先要申请API-key 然后本地python调用一下

参考地址阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

代码如下:

import os
from openai import OpenAIclient = OpenAI(# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",api_key=os.getenv("DASHSCOPE_API_KEY"), base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(model="qwen-plus", # 此处以qwen-plus为例,可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/getting-started/modelsmessages=[{'role': 'system', 'content': 'You are a helpful assistant.'},{'role': 'user', 'content': '你是谁?'}],)print(completion.model_dump_json())

API-Key申请参考链接 如何获取API Key_大模型服务平台百炼(Model Studio)-阿里云帮助中心

有一定的免费额度

本地测试输出如下:

{"id":"chatcmpl-f970c884-fbe9-99f0-8d9f-8c18209ee58f","choices":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"content":"我是来自阿里云的大规模语言模型,我叫通义千问。","refusal":null,"role":"assistant","audio":null,"function_call":null,"tool_calls":null}}],"created":1740919207,"model":"qwen-plus","object":"chat.completion","service_tier":null,"system_fingerprint":null,"usage":{"completion_tokens":16,"prompt_tokens":22,"total_tokens":38,"completion_tokens_details":null,"prompt_tokens_details":{"audio_tokens":null,"cached_tokens":0}}}

接下来使用LangChain来接入大模式试下:

import os
from langchain_community.llms import Tongyi
from langchain_core.messages import HumanMessageos.environ["DASHSCOPE_API_KEY"] = "xxx"  # 此处为通义千问的API KEYllm = Tongyi(temperature=1)  # 创建一个Tongyi模型实例,设置温度为1
result = llm.invoke([HumanMessage(content="你是谁?")])  # 使用模型进行语言处理任务
print(result)  # 输出处理结果

输出结果如下:

我是阿里云开发的一款超大规模语言模型,我叫通义千问。

        LangChain作为一个脚手架 能够快速集成大模型以及实现一些其他格式化功能,本质是为了能够更好的调用相关大模型API以及进行业务逻辑处理。

相关文章:

大语言模型学习--LangChain

LangChain基本概念 ReAct学习资料 https://zhuanlan.zhihu.com/p/660951271 LangChain官网地址 Introduction | 🦜️🔗 LangChain LangChain是一个基于语言模型开发应用程序的框架。它可以实现以下应用程序: 数据感知:将语言模型…...

Spark内存迭代计算

一、宽窄依赖 窄依赖:父RDD的一个分区数据全部发往子RDD的一个分区 宽依赖:父RDD的一个分区数据发往子RDD的多个分区,也称为shuffle 二、Spark是如何进行内存计算的?DAG的作用?Stage阶段划分的作用? &a…...

Python之参数星号(*)使用笔记

背景 在学习python时发现方法调用和方法定义会经常发现有带星号的标记,为了弄明白是怎么使用的。特此做个笔记。 一、参数符号对比速查表 符号类使用场景作用描述示例无符号函数定义/调用普通位置参数或关键字参数.def func(a, b)*函数定义收集多余位置参数为元组…...

一文掌握 Scrapy 框架的详细使用,包括实战案例

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 1. Scrapy 简介2. Scrapy 的核心组件3. 安装 Scrapy4. 创建 Scrapy 项目4.1 创建项目4.2 创建 Spider5. 编写 Spider5.1 定义 Item5.2 编写 Spider 逻辑6. 运行 Scrapy 爬虫6.1 运行爬虫6.2 保存爬取数据7. Scrapy 的高…...

【Mac】git使用再学习

目录 前言 如何使用github建立自己的代码库 第一步:建立本地git与远程github的联系 生成密钥 将密钥加入github 第二步:创建github仓库并clone到本地 第三步:上传文件 常见的git命令 git commit git branch git merge/git rebase …...

【MySQL篇】数据库基础

目录 1,什么是数据库? 2,主流数据库 3,MySQL介绍 1,MySQL架构 2,SQL分类 3,MySQL存储引擎 1,什么是数据库? 数据库(Database,简称DB&#xf…...

SpringBoot项目注入 traceId 来追踪整个请求的日志链路

SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排查问题的时候,可以迅速根据 traceId 查找到相关请求的日志,特别是在生产环境的时候,用户可能只提供一个错误截图,我们作为开发…...

【Block总结】SAFMN,空间自适应调制与局部特征增强的协同设计|即插即用

论文信息 标题:Spatially-Adaptive Feature Modulation for Efficient Image Super-Resolution论文链接:https://arxiv.org/pdf/2302.13800代码与模型:https://github.com/sunny2109/SAFMN 创新点 空间自适应特征调制(SAFM&…...

Python爬虫:一文掌握PyQuery模块

文章目录 1. PyQuery 简介2. PyQuery 的安装2.1 安装 PyQuery2.2 安装依赖库3. PyQuery 的基本使用3.1 初始化 PyQuery 对象3.2 选择元素3.3 获取元素内容3.4 遍历元素4. PyQuery 的高级用法4.1 过滤元素4.2 查找子元素4.3 获取属性值4.4 修改元素4.5 添加和删除元素4.6 遍历文…...

LearnOpenGL之Shader编程用算法绘画

———————————————————— 前序 ——————————————————— AndroidLearnOpenGL是本博主自己实现的LearnOpenGL练习集合: Github地址:GitHub - wangyongyao1989/AndroidLearnOpenGL: OpenGL基础及运用 系列文章&#xff…...

如何使用Spring Boot框架整合Redis:超详细案例教程

目录 # 为什么选择Spring Boot与Redis整合? 1. 更新 pom.xml 2. 配置application.yml 3. 创建 Redis 配置类 4. Redis 操作类 5. 创建控制器 6. 启动应用程序 7. 测试 # 为什么选择Spring Boot与Redis整合? 将Spring Boot与Redis整合可以充分利…...

算法--贪心

贪心 原理经典例题[860. 柠檬水找零](https://leetcode.cn/problems/lemonade-change/description/)[2208. 将数组和减半的最少操作次数](https://leetcode.cn/problems/minimum-operations-to-halve-array-sum/description/)[179. 最大数](https://leetcode.cn/problems/large…...

线程控制(创建、终止、等待、分离)

目录 1.前言 2.创建线程 pthread_create函数 3.线程终止 pthread_exit函数 pthread_cancel函数 4.线程等待 5.线程分离 1.前言 在Linux系统中,并不存在真正的线程,只有轻量级进程。所以,Linux系统只提供了操作轻量级进程的系统调用…...

【备份】php项目处理跨域请求踩坑

这都是老生常谈的东西了。我还在踩坑,记录一下。 我在项目入口明明写了如下代码: // 处理预检请求 (OPTIONS) if ($_SERVER[REQUEST_METHOD] OPTIONS) {header("Access-Control-Allow-Origin: https://xxx.vip");header("Access-Cont…...

目标检测YOLO实战应用案例100讲-面向无人机图像的小目标检测

目录 知识储备 YOLO v8无人机拍摄视角小目标检测 数据集结构 环境部署说明 安装依赖 模型训练权重和指标可视化展示 训练 YOLOv8 PyQt5 GUI 开发 主窗口代码 main_window.py 使用说明 无人机目标跟踪 一、目标跟踪的基本原理 二、常用的目标跟踪算法 基于YOLOv…...

实现 Leaflet 多类型点位标记与聚合功能的实战经验分享

在现代的地理信息系统(GIS)应用中,地图功能是不可或缺的一部分。无论是展示商业网点、旅游景点还是公共服务设施,地图都能以直观的方式呈现数据。然而,当数据量较大时,地图上可能会出现大量的标记点&#x…...

Linux 环境“从零”部署 MongoDB 6.0:mongosh 安装与数据操作全攻略

前提 完成linux平台部署MongoDB【部署教程】且完成mongosh的安装 由于本人使用的是6.0版本的MongoDB,新版本 MongoDB(尤其是 6.0 及以上版本)已经不再默认捆绑传统的 mongo shell,而改用新的 MongoDB Shell(mongosh&am…...

深度学习五大模型:CNN、Transformer、BERT、RNN、GAN详细解析

# 深度学习五虎将:当CNN遇见Transformer的奇幻漂流 ## 序章:AI江湖的兵器谱排行 2012年,多伦多大学的厨房里,Hinton的学生们用GPU煎了个"AlexNet"荷包蛋,从此开启了深度学习的热兵器时代。如今五大模型各显…...

004 rocketmq集群

1、集群模式 在RocketMQ中,集群的部署模式是比较多的,有以下几种: public class ConsumerDemo {public static void main(String[] args) throws Exception {DefaultMQPushConsumer consumer new DefaultMQPushConsumer("test-group&qu…...

基于 Python 深度学习的电影评论情感分析可视化系统(2.0 全新升级)

基于 Python 深度学习的电影评论情感分析可视化系统,基于 Flask 深度学习,构建了一个 影评情感分析系统,能够 自动分析影评、计算情感趋势 并 可视化展示,对于电影行业具有重要参考价值! 基于 Python 深度学习的电影评…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

springboot 日志类切面,接口成功记录日志,失败不记录

springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...

redis和redission的区别

Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...

数据库——redis

一、Redis 介绍 1. 概述 Redis(Remote Dictionary Server)是一个开源的、高性能的内存键值数据库系统,具有以下核心特点: 内存存储架构:数据主要存储在内存中,提供微秒级的读写响应 多数据结构支持&…...

Windows 下端口占用排查与释放全攻略

Windows 下端口占用排查与释放全攻略​ 在开发和运维过程中,经常会遇到端口被占用的问题(如 8080、3306 等常用端口)。本文将详细介绍如何通过命令行和图形化界面快速定位并释放被占用的端口,帮助你高效解决此类问题。​ 一、准…...