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,则会自动忽略。

提示词请看下一章

相关推荐
2601_956319882 小时前
最新AI量化提效,先做可验证的小流程
人工智能·python
YIAN2 小时前
LangChain JS 工具调用实战:基于 DeepSeek-V4-Flash 实现本地文件读取 AI 代码助手(完整可运行源码)
javascript·langchain·前端框架
李燚3 小时前
Go 项目怎么组织:DDD 4 层 vs MVC vs 脚本式
开发语言·golang·mvc·ddd·agent框架·eino
开飞机的舒克_3 小时前
FastAPI 实战入门:从路由、参数校验到依赖注入的后端开发指南
python·fastapi
霸道流氓气质3 小时前
Kiro 中反编译 JAR 包并分析字节码的流程指南
chrome·python·jar
齐 飞3 小时前
LangGraph快速入门-02状态
人工智能·langchain
2zcode3 小时前
免费开源项目文档:基于MATLAB图像处理的啤酒瓶口缺陷检测系统设计与实现
开发语言·图像处理·matlab
人工智能时代 准备好了吗4 小时前
AI回答内容进入率监测:引用识别、文本匹配与语义判断
开发语言·人工智能·python
LONGZETECH4 小时前
新能源汽车动力电池检测仿真教学系统:C/S 分层架构与数字化实训落地全解析
大数据·c语言·开发语言·人工智能·架构·系统架构·汽车