LangChain python 版本 第一集

LangChain 官方文档:

python 复制代码
https://reference.langchain.com/python/langchain
models:
https://docs.langchain.com/oss/python/langchain/models
https://docs.langchain.com/oss/python/integrations/chat
https://reference.langchain.com/python/langchain-core/language_models
https://docs.langchain.com/oss/python/langchain/models#parameters
https://docs.langchain.com/oss/python/integrations/providers/ollama
提示词文档:
https://api-docs.deepseek.com/zh-cn/prompt-library
https://reference.langchain.com/python/langchain-core/prompts
https://docs.langchain.com/langsmith/prompt-engineering-concepts
https://docs.langchain.com/oss/python/langchain/messages

​python环境安装

python 复制代码
想让当前虚拟环境以后默认走清华源,可先执行:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
 
- 安装langchain
- 安装langchain-openai
- 安装openai
- 安装dotenv
- 安装langchain-core
 
 
# langchain 提供核心框架(Chain, Agent, Memory, Retriever等)
pip install  langchain -i https://pypi.tuna.tsinghua.edu.cn/simple
 
# 提供OpenAI专用组件(LLM, Chat, Embeddings等),依赖 openai SDK
pip install langchain-openai  -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install  openai -i https://pypi.tuna.tsinghua.edu.cn/simple
 
 
# 通过 python-dotenv 库读取 env 文件中的环境变量,并加载到当前运行的环境中
pip install python-dotenv -i https://pypi.tuna.tsinghua.edu.cn/simple
 
pip install langchain-core

本地大模型安装环境:
pip install -qU langchain-ollama
pip install -U ollama

langchain 0.3版本 与1.0版本的写法

0.3版本

python 复制代码
from langchain_openai import ChatOpenAI
from openai import OpenAI
import os
from dotenv import load_dotenv
load_dotenv(encoding='utf-8')
llm = ChatOpenAI(
    model="deepseek-v3.2",
    # 配置进环境变量
    api_key=os.getenv("QWEN_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)
#
# # 2.提供问题,并调用llm
response = llm.invoke("你是谁")

print(response)
print()
print(response.content)

1.0版本

python 复制代码
# LangChain1.0+版本使用方式,目前主流

# 1.导入依赖
import os
from dotenv import load_dotenv
from langchain.chat_models import init_chat_model
#通过 python-dotenv 库读取 env 文件中的环境变量,并加载到当前运行的环境中
load_dotenv(encoding='utf-8')
model2 = init_chat_model(
    model="deepseek-v3",
    model_provider="openai",
    api_key=os.getenv("QWEN_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")

# 3.调用模型
print(model2.invoke("你是谁").content)

Model I/O 大模型接口

I/O三件套

1,输入提示词

2,调用模型

3,解析输出

参数作用:

本地模型部署 Ollama

Ollama 本地安装教程:

OllamaSetup.exe /DIR=D:\j\MySoftware\ollama

手动配置拉去大模型存放位置:

python 复制代码
环境变量
OLLAMA_MODELS
D:\devSoft\Ollama\models

ollama 常用命令

python 复制代码
Ollama 常用命令速查表  
 
| 命令 | 一句话说明 |
|---|---|
| `ollama pull llama3` | 下载指定模型(例:llama3)。 |
| `ollama run llama3` | 启动并进入该模型交互对话。 |
| `ollama list` | 列出本机已下载的所有模型。 |
| `ollama rm llama3` | 删除不再需要的模型以节省磁盘。 |
| `ollama cp llama3 my-llama3` | 本地复制/重命名模型。 |
| `ollama show llama3` | 查看模型详细信息(参数、大小等)。 |
| `ollama create my-model -f Modelfile` | 用自定义 Modelfile 构建新模型。 |
| `ollama serve` | 启动后台服务,供 API 调用。 |
| `ollama ps` | 查看当前正在运行的模型进程。 |
| `ollama stop llama3` | 停止正在运行的模型。 |

/bye

提示词

langchain 内置消息类型:

python 复制代码
spring AI
SYSTEM("system") 设定Ai 行为边界/角色/定位。指导AI 的行为和响应方式,设置AI 如何解释和回复输入的
USER("user") 用户原始提问输入,代表用户的输入他们向AI提出的问题,命令或陈述
ASSISTANT("assistant") ai返回的响应信息,定义为 "助手角色"消息,用它可以确保上下文能够连贯的交互;记忆对话,积累回答
TOOL("tool") 桥接外部服务,可以进行函数调用如,支付,数据查询等操作,类似调用第3方util工具类,

Langchain

python 复制代码
SystemMessage : 边界,角色,定位
HumanMessage:用户输入
AIMessage:模型输出
ToolMessage(v1.0)/FunctionMessage(v0.3) 工具消息

提示词模板

python 复制代码
PromptTemplate 提示词模板:
分类:
1,PromptTemplate:文本生成模型提示词模板,用户字符串拼接变量生成提示词
2,ChatPromptTemplate:聊天模型提示词模板,使用与如gpt-3.5turbo,gpt-4 等聊天模型
	消息模板:
		a,ChatMessagePromptTemplate
		b,SystemMessagePromptTemplate
		c,HumanMessagePromptTemplate
		d,AIMessagePromptTemplate
3,FewshotPromptTemplate:
4,PipelinePrompt :管道提示词模板,用于几个提示词组合在一起使用

提示词参数

在 LangChain 中,PromptTemplate 是构建提示词的核心组件,它允许我们创建可复用的模板,通过变量占位符动态生成提示词。理解其参数对于高效使用至关重要。

核心参数详解

python 复制代码
主要参数:
	template:定义提示词模板的字符串,其中包含文本和变量占位符(如{name}) ;
	input_variables: 列表,指定了模板中使用的变量名称,在调用模板时被替换;
	partial_variables:字典,用于定义模板中一些固定的变量名。这些值不需要再每次调用时被替换。
函数方法介绍:
	format():给input_variables变量赋值,并返回提示词。利用format() 进行格式化时就一定要赋值,否则会报错。当在template中未设置input_variables,则会自动忽略。

提示词请看下一章

相关推荐
新网企兴2 分钟前
2026年陕西做GEO推广,找新网企兴解决获客难题
python·搜索引擎
zhifou12345612 分钟前
java 17升级安装
java·开发语言
青 春 记 忆13 分钟前
LeetCode 142. 环形链表 II|Python 解法详解
python·leetcode·链表
for_ever_love__16 分钟前
python基础语法学习: 面向对象的三大特性
开发语言·python·学习
Spider赵毅35 分钟前
Python爬虫踩坑实录:BeautifulSoup使用中的高频问题排查
爬虫·python·beautifulsoup
不会代码的小猴1 小时前
7. JSON
开发语言·c++·笔记·qt·算法·json
沫璃染墨1 小时前
《Qt从零入门系列(六):信号与槽进阶——从多种连接方式到Lambda表达式》
开发语言·c++·qt·代码规范·设计规范·qt5
怪奇云呼军1 小时前
知识库也会注入指令?闪电智能VoiceAgent 如何防住 Prompt Injection
人工智能·python·算法·云计算·音视频
ZJU_统一阿萨姆2 小时前
【算子开发】环境搭建与第一个CUDA程序
开发语言·人工智能·系统架构
Evand J2 小时前
【MATLAB例程,车联网8】MPC网联车辆节能跟驰控制:速度跟踪、间距约束与能耗优化。附MATLAB完整代码的下载链接
开发语言·matlab·车联网·调度·mpc·节能·车辆控制