大模型框架 LangChain 介绍

文章目录

  • langchain介绍
  • 安装依赖
  • 大模型类别
  • 千帆大模型案例
  • 常见问题

langchain介绍

  • 是一个开源大语言模型框架,本身不提供大模型算法,只提供对接大模型算法平台的接口(模型包裹器);langchain官网v0.2,内部涉及的OpenAI的大模型使用都可以都可以替换为国内的大模型平台;

  • 用于开发大模型应用的框架;

  • 具有五大核心:

    • 模型IO,即模型包裹器,对接各个平台的大语言模型;
    • 数据增强,加载数据文档、转换、嵌入、向量化存储、检索等;
    • 链,将多个组件连接起来,完成特定的操作;
    • Agent代理,核心思想就是LLM选择操作序列,调用其他的API等;
    • indexes 索引快速检索信息;
      在这里插入图片描述
      另外还有回调处理器、记忆等模块。
  • 优点:

    • 允许将大语言模型连接到自己的数据源,如内网中的数据库、pdf等文档;
    • 可以根据提取的信息完成相应的操作;
       
  • 应用场景:

    • 问答系统;
    • 自动问答和客服机器人;
    • 数据处理、管理,如RAG;
       
  • 工作原理
    在这里插入图片描述

    • 用户输入问题,从数据库中进行相似性搜索,找到相关的信息;
    • 找到的信息与问题一同传给大语言模型,得到一个答案;
    • 输出该答案 或者 根据该答案做出动作(接口调用等);
       

安装依赖

pip install -U langchain langchain-community langchain-openai langchain-chroma# 核心包langchain_core
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_core.messages import SystemMessage, HumanMessage, AIMessage
# SystemMessage 用于系统设定
# HumanMessage(content="xxx") # 用户输入的信息
# AIMessage 大模型的输出
# 输出解析器,解析AIMessage
from langchain_core.output_parsers import StrOutputParser, JsonOutputParser# langchain_community
# 模型包裹器
from langchain_community.chat_models import ChatOpenAI  
from langchain_community.chat_models import QianfanChatEndpoint
# 聊天信息历史
from langchain_community.chat_message_histories import ChatMessageHistory
# 

 

大模型类别

  • 百度千帆大模型,需要注册百度智能云;
    在这里插入图片描述
    在开发千帆大模型应用程序时,需要创建应用以获取ak/sk,并购买调用的服务;调用示例代码
    在这里插入图片描述
    在这里插入图片描述

  • 华为盘古大模型;

  • 阿里通义千问大模型;

  • OpenAI chat-gpt;

 

千帆大模型案例

基于 千帆大模型(文心一言) 创建一个聊天机器人:

import os
from langchain_community.chat_models import QianfanChatEndpoint
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.messages import SystemMessage, HumanMessage, AIMessage
from langchain_core.output_parsers import StrOutputParser# 环境变量方式,指定ak/sk
os.environ["QIANFAN_AK"] = "your api key"
os.environ["QIANFAN_SK"] = "your secret key"# 千帆大模型 (文心一言)
qianfan_chat = QianfanChatEndpoint(model="ERNIE-3.5-8K", temperature=0.2, # 越大越随机回答timeout=50,  # 有时网络不好,可能会超时,可以指定长些# api_key="...",# secret_key="...",# top_p="...",# other params...)# 对象可以直接调用
# res = qianfan_chat.invoke(([HumanMessage(content="讲一个故事")]))# messages 转为提示词
prompt = ChatPromptTemplate.from_messages([("system", "你是一个python技术专家,请尽力回答如下问题。"), # message元组或者SystemMessage(content="xx")HumanMessage(content="写出一个{lang}的工厂设计模式。") # 占位符
])# 模型输出的为 AIMessage,需解析为对应的数据格式
parser = StrOutputParser()# 组装链
chat_chain = prompt | qianfan_chat | parser# 调用链,并传入占位符
res = chat_chain.invoke({"lang": "python"}) # 链调用,传入占位符的key# 打印响应 的字符串
print("res:", res)

常见问题

  • urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=‘aip.baidubce.com’, port=443): Read timed out. (read timeout=30) 接口调用时,网络IO可能较慢,在chat model中延长timeout的时间

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149354.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

828华为云征文 | 云服务器Flexus X实例,Docker集成搭建斗地主

828华为云征文 | 云服务器Flexus X实例,Docker集成搭建斗地主 华为云端口放行 服务器放行对应端口8078 Docker安装并配置镜像加速 1、购买华为云 Flexus X 实例 Flexus云服务器X实例-华为云 (huaweicloud.com) 2、docker安装 yum install -y docker-ce3、验证 Dock…

问请问请问2312123213123

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…

后台管理系统开箱即用的组件库!!【送源码】

今天给大家推荐几款的后台管理系统开箱即用的组件库,基于ElementUI二次封装,开发必备 Headless UI Headless UI 是一款出色的前端组件库,专为与 Tailwind CSS 集成而设计。一组完全无样式、完全可访问的 UI 组件,可以自由的引入…

使用Docker和cpolar在Linux服务器上搭建DashDot监控面板

使用Docker和cpolar在Linux服务器上搭建DashDot监控面板 前言环境准备安装Docker下载Dashdot镜像 部署DashDot应用本地访问DashDot服务安装cpolar内网穿透固定DashDot公网地址结语 前言 在这个数字化飞速发展的时代,服务器作为支撑各种应用和服务的基础设施&#xf…

Unity进阶之C#知识补充

概述 Unity跨平台的基本原理 了解.Net相关知识 Unity跨平台的基本原理(Mono) Unity跨平台的基本原理(IL2CPP) IL2CPP 模式可能存在的问题处理 报错的话就去下载 用到的测试类 C#版本和Unity的关系 C#各版本新功能和语法 C# 1~4 功…

【模型】感知器

感知器是最早的人工神经网络之一,也是现代深度学习的基础之一。 1. 感知器(Perceptron) 1.1 定义与功能 感知器是一种线性二分类模型,旨在模拟生物神经元的基本功能。它通过对输入特征进行加权求和,并应用激活函数来…

chapter17-多线程基础——(自定义泛型)——day20

580-程序进程线程 581-并发并行 并发和并行也可以同时进行 582-继承Thread创建线程 583-多线程机制 主线程和子线程交替执行 单核:两个线程并发 多核:两个线程并行 主线程结束,不是说进程就结束,进程要等所有线程结束 584-为什…

如何破解西门子博途V19里的密码设置

现在使用TIA Portal V19的工程师是越来越多了,V19有个显著的变化就是访问密码的设置,很多小伙伴忽然发现已经用了很多年的功能,在改动以后都不会设置了,那我们今天就带着您看一下如何才能在 V19 中正确的设置 S7-1500 访问密码。 …

AI论文写作可靠吗?分享5款论文写作助手ai免费网站

AI论文写作的可靠性是一个备受关注的话题。在当前的技术背景下,AI写作工具能够显著提高论文写作的效率和质量,但其可靠性和安全性仍需谨慎评估。 AI论文写作的可靠性 技术能力与限制 AI论文写作的质量很大程度上取决于用户提供的输入指令或素材的质量…

小程序面板开发教程|开发照明 Matter 面板步骤(一)

一. 前置知识 前言 出于对 Matter 标准协议及第三方设备接入的可拓展性等方面考虑,照明 Matter 模型面板的功能点定义会与照明的 DP 模型有所不同,因此本文会着重介绍照明 Matter 面板的功能点定义及与 DP 模型的区别,以方便面板小程序开发…

thinkphp 做分布式服务+读写分离+分库分表+负载均衡(分区)(后续接着写)

thinkphp 做分布式服务读写分离分库分表负载均衡(分区) 引言 thinkphp* 大道至简负载均衡分布式服务一、读写分离1、读写分离的实现方式2、主从同步的三种模式2-1、异步模式(mysql async-mode)2-2、半同步模式(mysql s…

STM32 map 文件浅析

目录 一、概述二、Section Cross References三、Removing Unused input sections from the image四、Memory Map of the image1、Local Symbols2、全局符号(Global Symbols) 五、Image Symbol Table六、Image component sizes 一、概述 .map 文件是编译…

力扣 中等 92.反转链表 II

文章目录 题目介绍题解 题目介绍 题解 class Solution {public ListNode reverseBetween(ListNode head, int left, int right) {// 创建一个哑节点,它的 next 指向头节点,方便处理ListNode dummy new ListNode(0, head);// p0 用于指向反转部分的前一个…

(无人车)/舵机电机/基本行进

一、CubeMx配置 (1)定时器配置 (2)电机GPIO端口配置 二、连线 (1)谁给谁供电 (2)单片机离开电脑供电,直接运行 三、特别注意 (1)电脑给单片机…

这些985,三战也要上岸!自动化考研择校

这些985学校,位于江浙沪皖地区,三战也要上岸的C9,搭配历年数据,供大家参考~ 目录 ① 上海交通大学 ② 浙江大学 ③ 中国科学技术大学 ④ 南京大学 ① 上海交通大学 复试线招生人数 C9之一,华东五虎,…

Java实现栈

一、栈Stack 1.1 概念 一种特殊的线性表,只允许在固定的一段进行插入和删除元素操作。进行数据的插入和删除操作的一段称为栈顶,另一端称为栈低。栈中的元素遵循后进先出 LIFO(Last In First Out)的原则。 进栈 出栈 举例:在word中&#xf…

同等学力英语考试成绩在哪里查询

同等学力英语考试成绩可以通过中国教育考试网进行查询。 具体查询步骤如下,访问中国教育考试网的官方网站 在网站首页找到“考生服务”板块 点击“成绩查询”输入报考时的姓名、证件号码和验证码,点击“查询”按钮进行成绩查询。

前瞻产业研究院联合发布:2024年中国AI大模型场景应用探索及应用调研报告 高清版PDF!!!

前言 这份文档是《2024年中国AI大模型场景探索及产业应用调研报告》,由深圳前瞻产业研究院、首钢基金CANPLUS联合华为云共同出品。报告主要探讨了中国AI大模型在不同行业场景中的应用现状、痛点、解决方案以及未来的发展趋势和投资机会。 核心内容总结如下&#xf…

从入门到精通:Linux 100个关键技术关键词

无论你是刚刚接触Linux的新手,还是希望进一步提升技能的中级用户,本指南都将是你不可或缺的学习资源。Linux 是一个强大而灵活的开源操作系统,广泛应用于服务器、嵌入式系统和个人电脑。通过掌握本指南中的100个关键技术关键词,你…

canvas分享,从入门到入门。

开始之前 canvas是一个可以使用脚本在其中绘制图形的 HTML 元素.它本身并不具备绘图能力,需要配合JavaScript使用 用途 游戏应用特效字体相册,幻灯片股票行情等动态图像思维图以及图形编辑器等在线可视化工具 基本特性 canvas元素会初始化宽度为300像…