LangChain应用(1)

目录

提示词编写

[CO-STAR 结构化框架](#CO-STAR 结构化框架)

[少样本提⽰ / 多⽰例提⽰](#少样本提⽰ / 多⽰例提⽰)

思维链提⽰

⾃动推理与零样本链式思考

⾃我批判与迭代

LLM接入方式

API远程调用

开源模型本地部署

大模型本地部署

一、本地部署概述

[1.1 什么是本地部署](#1.1 什么是本地部署)

[1.2 适用场景](#1.2 适用场景)

二、主流推理框架

[三、Ollama 部署详解](#三、Ollama 部署详解)

[3.1 Ollama 简介](#3.1 Ollama 简介)

[3.2 安装步骤](#3.2 安装步骤)

[3.3 修改模型存储路径](#3.3 修改模型存储路径)

[3.4 拉取模型](#3.4 拉取模型)

[3.5 运行与测试](#3.5 运行与测试)

[3.6 版本对比](#3.6 版本对比)

四、模型获取平台

[4.1 Hugging Face(国外)](#4.1 Hugging Face(国外))

[4.2 魔搭社区 ModelScope(国内)](#4.2 魔搭社区 ModelScope(国内))

五、本地部署完整流程

六、注意事项

七、快速参考命令

SDK和官方客户端库

[SDK 安装与使用教程](#SDK 安装与使用教程)

[一、OpenAI SDK](#一、OpenAI SDK)

安装

使用示例

[二、Anthropic SDK (Claude)](#二、Anthropic SDK (Claude))

安装

使用示例

[三、Google Gemini SDK](#三、Google Gemini SDK)

安装

使用示例

[四、百度文心千帆 SDK](#四、百度文心千帆 SDK)

安装

使用示例

[五、阿里通义千问 SDK](#五、阿里通义千问 SDK)

安装

使用示例

六、环境变量配置(推荐)

Windows

Linux/Mac

[Python 代码读取](#Python 代码读取)

七、快速对照表


提示词编写

CO-STAR 结构化框架

模块 说明 示例
Context 任务背景与上下文 "你是电商客服,需解答用户关于iPhone 17的咨询,知识库包含最新价格和库存"
Objective 核心目标 "准确回答价格、发货时间,推荐适配配件"
Steps 执行步骤 "1.识别用户问题类型;2.检索知识库;3.用亲切语气整理回复"
Tone 语言风格 "口语化,避免专业术语,使用'亲~''呢'等语气词"
Audience 目标用户 "20-35岁年轻消费者,对价格敏感,关注性价比"
Response 输出格式 "价格:XXX元\n库存:XXX件\n推荐配件:XXX(链接)"

少样本提⽰ / 多⽰例提⽰

复制代码
请根据以下⽰例,分析后续的客⼾反馈,并提取产品名称、情感倾向和具体问题。
⽰例1:
• 反馈:“笔记本的电池续航太差了,完全达不到宣传的10⼩时,最多就4⼩时。”
• 分析:
◦ 产品名称:笔记本电池
◦ 情感倾向:负⾯
◦ 具体问题:续航远低于宣传
⽰例2:
• 反馈:“客服响应很快,⾮常专业地帮我解决了软件激活问题,点赞!”
• 分析:
◦ 产品名称:客服服务
◦ 情感倾向:正⾯
◦ 具体问题:⽆
现在请分析这个:
• 反馈:“我刚买的⽿机,才⽤了⼀周左边就没声⾳了,太让⼈失望了。”

思维链提⽰

复制代码
例如,⼿动写⼀个思维链作为少样本提⽰的⽰例:
Q:“罗杰有五个⽹球,他⼜买了两盒⽹球,每盒有3个⽹球,请问他现在总共有多少个⽹球?”
A:“罗杰起初有五个⽹球,⼜买了两盒⽹球,每盒3个,所以,他总共买了2×3=6个⽹球,将起始
的数量和购买的数量相加,可以得到他现在总共的⽹球数量:5+6=11,所以罗杰现在总共有11个⽹
球”

⾃动推理与零样本链式思考

复制代码
罗杰有五个⽹球,他⼜买了两盒⽹球,每盒有3个⽹球,请问他现在总共有多少个⽹球?请⼀步步进⾏推理并得出结论。

⾃我批判与迭代

复制代码
请执⾏以下两个步骤:
步骤⼀:编写代码
写⼀个Python函数 find_max ,⽤于计算⼀个数字列表中的最⼤值。
步骤⼆:⾃我审查与优化
现在,请从代码健壮性和可读性的⻆度,审查你上⾯编写的代码。
请回答:
1. 如果输⼊是空列表,函数会怎样?如何改进?
2. 变量命名和代码结构是否清晰?能否让它更易于理解?
3. 请根据你的审查,给出⼀个优化后的最终版本。

LLM接入方式

API远程调用

复制代码
运营商服务器部署LLM,提供远程调用接口
适⽤于快速开发、集成到现有应⽤以及不想管理硬件资源
的场景
复制代码
1. 注册账号并获取 API Key:在模型提供商的平台上注册,获得⽤于⾝份验证的密钥。
2. 查阅 API ⽂档:了解请求的端点、参数(如模型名称、提⽰词、温度、最⼤⽣成⻓度等)和返回的
数据格式。
3. 构建 HTTP 请求:在你的代码中,使⽤ HTTP 客⼾端库(如 Python 的 requests )构建⼀个包
含 API Key(通常在 Header 中)和请求体(JSON 格式,包含你的提⽰和参数)的请求。
4. 发送请求并处理响应:将请求发送到提供商指定的 API 地址,然后解析返回的 JSON 数据,提取⽣
成的⽂本。

小应用:

开源模型本地部署

复制代码
运营商服务器部署LLM
大模型本地部署
一、本地部署概述
1.1 什么是本地部署

将开源的大语言模型(如 Llama、ChatGLM、Qwen 等)部署在自己硬件环境(本地服务器或私有云)中的方式。

核心流程

  • 下载模型文件(权重 + 配置文件)

  • 使用推理框架在本地加载并运行模型

  • 通过 API 方式进行交互

1.2 适用场景
考量因素 本地部署 云端API
数据敏感性 ✅ 数据留在本地 ❌ 需上传第三方
技术实力 需要 MLops 能力 低门槛
成本 固定硬件成本 按量付费
定制需求 可微调 通用能力

二、主流推理框架
框架 特点 适用场景
vLLM 高吞吐量,性能极佳 生产环境
TGI Hugging Face 出品,功能全面 生产环境
Ollama 用户友好,一键运行 快速入门、本地开发
LM Studio 图形化界面 桌面端使用

三、Ollama 部署详解
3.1 Ollama 简介

专为本地部署和运行 LLM 设计的开源工具,简化模型的安装、运行和管理。

官网https://ollama.ai

3.2 安装步骤
  1. 下载:访问官网下载对应系统安装包

  2. 安装:按向导完成安装

  3. 验证

    复制代码
    # 访问服务
    http://127.0.0.1:11434
    ​
    # 命令行验证
    ollama --version
3.3 修改模型存储路径

模型默认安装在 C:\Users\XXX\.ollama,可通过以下方式修改:

方式一:系统环境变量

复制代码
变量名:OLLAMA_MODELS
变量值:自定义路径

方式二:Ollama 界面设置

设置完成后需重启 Ollama。

3.4 拉取模型

查找模型https://ollama.com/search

以 DeepSeek-R1 为例:

复制代码
# 拉取 1.5b 版本(轻量)
ollama pull deepseek-r1:1.5b
​
# 拉取 70b 版本(需要高性能 GPU)
ollama pull deepseek-r1:70b
3.5 运行与测试

命令行交互

复制代码
ollama run deepseek-r1:1.5b

API 调用

复制代码
curl "http://127.0.0.1:11434/api/chat" \
  -d '{
    "model": "deepseek-r1:1.5b",
    "messages": [{"role": "user", "content": "夸夸我"}],
    "stream": false
  }'
3.6 版本对比
版本 硬件要求 速度 效果
1.5b 低(CPU可跑) 基础对话
70b 28核CPU + 64G内存 + 44G显存 3-4 token/s 高质量输出

四、模型获取平台
4.1 Hugging Face(国外)
4.2 魔搭社区 ModelScope(国内)
  • 官网https://www.modelscope.cn/

  • 阿里达摩院推出,汇聚数千个预训练模型

  • 便于国内用户下载,速度快


五、本地部署完整流程
复制代码
┌─────────────┐
│  下载模型   │ ← Hugging Face / 魔搭社区
└──────┬──────┘
       ↓
┌─────────────┐
│  准备环境   │ ← GPU服务器 + 驱动
└──────┬──────┘
       ↓
┌─────────────┐
│ 选择推理框架 │ ← vLLM / Ollama / TGI
└──────┬──────┘
       ↓
┌─────────────┐
│  启动服务   │ ← 本地 API 服务
└──────┬──────┘
       ↓
┌─────────────┐
│   调用模型   │ ← HTTP 请求 / SDK
└─────────────┘

六、注意事项
  1. 硬件要求:大模型需要足够显存(如 70B 模型需要多卡 GPU)

  2. 存储空间:模型文件通常几十 GB 到几百 GB

  3. 推理速度:本地部署速度受硬件限制

  4. 模型选择:根据任务需求和硬件配置选择合适的模型版本


七、快速参考命令
复制代码
# 拉取模型
ollama pull <模型名>
​
# 运行模型(交互式)
ollama run <模型名>
​
# 查看已安装模型
ollama list
​
# 删除模型
ollama rm <模型名>
​
# API 调用(非流式)
curl http://localhost:11434/api/generate -d '{
  "model": "<模型名>",
  "prompt": "你好"
}'

SDK和官方客户端库

复制代码
自己的服务器部署LLM进行调用
"""
    实际上,本地部署开源大模型,不仅需要开放的大模型的源代码,还包括模型的参数/权重、训练数据等。
"""
SDK 安装与使用教程
一、OpenAI SDK
安装
复制代码
pip install openai
使用示例
复制代码
from openai import OpenAI
​
# 初始化客户端
client = OpenAI(api_key="your-api-key")
​
# 对话补全
response = client.chat.completions.create(
    model="gpt-4",
    messages=[
        {"role": "user", "content": "你好"}
    ]
)
print(response.choices[0].message.content)
​
# 嵌入向量
embedding_response = client.embeddings.create(
    model="text-embedding-3-small",
    input="Hello world"
)
print(embedding_response.data[0].embedding)

二、Anthropic SDK (Claude)
安装
复制代码
pip install anthropic
使用示例
复制代码
import anthropic
​
client = anthropic.Anthropic(api_key="your-api-key")
​
response = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1000,
    messages=[{"role": "user", "content": "你好"}]
)
print(response.content[0].text)

三、Google Gemini SDK
安装
复制代码
pip install google-generativeai
使用示例
复制代码
import google.generativeai as genai
​
genai.configure(api_key="your-api-key")
​
model = genai.GenerativeModel("gemini-pro")
response = model.generate_content("你好")
print(response.text)

四、百度文心千帆 SDK
安装
复制代码
pip install qianfan
使用示例
复制代码
import qianfan
​
# 初始化
chat_comp = qianfan.ChatCompletion()
​
# 调用对话
response = chat_comp.do(
    model="ERNIE-Bot-turbo",
    messages=[{"role": "user", "content": "你好"}]
)
print(response["result"])

五、阿里通义千问 SDK
安装
复制代码
pip install dashscope
使用示例
复制代码
import dashscope
from dashscope import Generation
​
dashscope.api_key = "your-api-key"
​
response = Generation.call(
    model="qwen-plus",
    messages=[{"role": "user", "content": "你好"}]
)
print(response.output.text)

六、环境变量配置(推荐)
Windows
复制代码
set OPENAI_API_KEY=your-key-here
Linux/Mac
复制代码
export OPENAI_API_KEY=your-key-here
Python 代码读取
复制代码
import os
from openai import OpenAI
​
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))

七、快速对照表
提供商 安装命令 初始化代码
OpenAI pip install openai OpenAI(api_key="xxx")
Anthropic pip install anthropic Anthropic(api_key="xxx")
Google pip install google-generativeai genai.configure(api_key="xxx")
百度 pip install qianfan qianfan.ChatCompletion()
阿里 pip install dashscope dashscope.api_key="xxx"
相关推荐
不会敲代码12 小时前
RAG 进阶:从网页加载到智能文档分割
langchain·node.js
尘埃落定wf2 小时前
用 FastAPI 将 LangChain Agent 封装成对外接口
langchain·fastapi
Irissgwe5 小时前
LangChain之聊天模型核心能力
人工智能·langchain·大模型·llm
FrontAI5 小时前
深入浅出 LangGraph —— 第5章:条件边与动态路由
人工智能·langchain·ai agent·langgraph
草莓熊Lotso5 小时前
从 LLM 底层原理到 LangChain 全链路打通:大模型应用开发新征程
linux·运维·服务器·人工智能·langchain
花千树-0106 小时前
ReAct 思考-行动-观察循环的底层实现机制
langchain·agent·react·ai编程·ai agent·langgraph·mcp
老刘说AI6 小时前
Text2SQL到数据智能
人工智能·python·低代码·语言模型·langchain
hjxu20166 小时前
【LangGraph入门 1】第一个LangGraph-HelloWorld
langchain