web前端学习 langchain

简介

了解到

  • 什么是大型语言模型
  • 什么是Langchain 一个框架,开发基于大模型语言为基础的应用 智能体,问答系统等,通过langchain统一的去调用ai大模型
  • 如何利用Langchain 开发AI应用

1.什么是大型语言模型 = 鹦鹉学舌

人工智能的一种工具,用来解析自然语言,达到与机器的i一个自然对话,

语言模型有很多 ,大型的意思就是指回答的更加全面,例如天气类app你问天气,他可能只会回答天气相关的东西

2.为什么要使用langchain

大模型有一些弊端,无法直接联网,训练的数据有截止时间,无法访问第三方api,也没法记录私有数据, 所有就需要langchain

这其实就是一个基础deepseek大模型的一个应用程序

2.RAG架构 解锁增强生成

精准解决 大模型知识冻结 和 大模型知识幻觉的问题

3.Agent

Agent =llm 大语言模型 + Toos 工具 + memroy 记忆能力 + planning 决策能力 +Action 行动能力

能不能用工具 来区分 是智能体 还是 大模型

4.安装jupyter notebook + langchain

1.pycharm 新建项目

2.pip install jupyter

3.pip install langchain

5.选择chatGPT 官网获取密钥

官网选择登陆 https://openai.com/zh-Hans-CN/api/

登陆选择API平台,然后就是注册登陆,然后创建API key

6.使用PoloAPI 国内访问openai模型 或者 使用closeai

https://poloai.top/console/token

直接注册 创建令牌。 需要冲点钱

6.创建一个llm模块

1.项目根目录下创建一个 .env文件

OPENAI_API_KEY = "sk-xxxxxxx"

OPENAI_BASE_URL = "https://poloai.top/v1"

复制代码
import os
import dotenv
from langchain_openai import OpenAI

dotenv.load_dotenv()
llm = OpenAI()
str1 = llm.invoke('写一首春天的诗')
print(str1)

3.模型调用的分类

角度1:

非对话模型: LLMs Text Model 仅支持单次对话,不支持上下文

对话模型: Chat Models (推荐)

嵌入模式: Embedding models
角度2:按照模型调用时,参数书写位置的不同 api-key base_url model-name

硬编码方式:将参数写在代码中

使用环境变量

使用配置文件 (推荐)
角度3: 具体api的调用

使用langchain 提供的API (推荐)

使用OpenAI 官方提供的API

使用其他平台提供的API
参数

model="gpt-4o-mini", #默认使用的是 gpt-3.5-turbo 模型

base_url="https://poloai.top/v1",

api_key="sk-ZuJxxxx"

temperature=0, #控制模型输出随机性 0 的话 每次输出都是一样的 建议 0.3,0.5精准模式 0.8平衡模式 1创意模式

max_tokens=20

1.非对话模型

复制代码
import os
import dotenv
from langchain_openai import OpenAI

dotenv.load_dotenv()
llm = OpenAI()
str1 = llm.invoke('写一首春天的诗')
print(str1)

2.对话模型

复制代码
#对话模式
from langchain_openai import ChatOpenAI
import dotenv

# dotenv.load_dotenv()
# 调用对话模型
# chat_model = ChatOpenAI(
#     # model="gpt-4o-mini", #默认使用的是 gpt-3.5-turbo 模型
#     base_url="https://poloai.top/v1",
#     api_key="sk-ZuJczuFpKnBHYyHNpVQlcd91BFPIY0Yn34OgANeb7bxkVMAC"
# )

chat_model = ChatOpenAI(
#     其他参数
    temperature=0, #控制模型输出随机性 0 的话 每次输出都是一样的 建议 0.3,0.5精准模式 0.8平衡模式 1创意模式
    max_tokens=20

)

res = chat_model.invoke('理想L6这车多少钱?')

print(res.content)

7.体会使用各个平台api

1.百度千帆平台

2.阿里云百炼平台

3.智谱的GLM

4。硅基流动平台

8.消息列表 SystemMessage,HumanMessage AIMessage

复制代码
from langchain_core.messages import SystemMessage,HumanMessage,AIMessage

syste_message = SystemMessage(content='你是一个英语专家嘛',additional_kwargs={"tool":"invoke_func1"})
human_message = HumanMessage(content='帮我定制一个英语六级学习计划')
ai_message = AIMessage(content = '我不致痘')
message = [syste_message,human_message,ai_message]

print(message)

res1 = chat_model.invoke(message)
print(res1.content)
相关推荐
早点睡啊Y6 分钟前
深入学 LangChain 官方文档(十五)Human-in-the-loop 与 Guardrails
langchain
PBitW6 分钟前
git 中容易遗忘的点 (二) ⚡⚡⚡
前端·git·面试
Hilaku14 分钟前
2026 年前端大洗牌:React 服务端到 Vite 的底层重构
前端·javascript·程序员
PBitW27 分钟前
git 中容易遗忘的点 (三) 🚀🚀🚀
前端·git·面试
名字还没想好☜29 分钟前
React setState 连续调用「丢更新」排查:批量更新与函数式更新
前端·javascript·react.js·react·usestate
come1123444 分钟前
Vue 2 与 Vue 3 语法区别及使用技巧
前端·javascript·vue.js
腻害兔1 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:ERP 企业资源模块,一个轻量级进销存的完整实现?
前端·javascript·vue.js·人工智能·前端框架·产品经理·ai编程
虹科网络安全1 小时前
艾体宝新闻|从 SQL 注入到服务器接管:CVE-2026-57517 暴露 Web 管理面板的供应链与安全编码风险
服务器·前端·sql
糖果店的幽灵1 小时前
langgraph的四种state解析
java·前端·javascript·langgraph
中微极客1 小时前
2026年生产级RAG技术栈选型:LangChain+Cohere Rerank实战
人工智能·langchain