一、大模型开发的四个常用应用场景
1)纯prompt
prompt是操作大模型的唯一接口 问一句答一句。
2)agent + function call
agent:大模型主动提要求。
function call:需要对接外部系统时,AI要求执行某个函数。
3)RAG
RAG:需要补充领域知识时使用
Embeddings:把文字转换为更易于相似度计算的编码(向量)。
向量数据库:向量数据存储。
向量搜索:根据输入向量搜索相似向量。
4)Fine-tunning (微调)
需要语料 + 成本高
二、模型的创建和调用
1)LangChain为一些模型厂商提供了专门的chat初始化类,如ChatOpenAI,ChatDeepSeek等。可以直接导入并进行实例化。
以deepSeek举例:
deepseek官方帮助文档:首次调用 API | DeepSeek API Docs
1. 安装必要依赖
pip3 install langchain-openai pip3 install langchain-deepseek pip3 install python-dotenv # 环境管理的包 可选2. 编写配置文件
在根目录下创建.env文件,写入内容
DEEPSEEK_API_KEY=
DEEPSEEK_BASE_URL=https://api.deepseek.com
3. 编写调用逻辑
import os from langchain_deepseek import ChatDeepSeek from dotenv import load_dotenv load_dotenv(override=True) DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY") DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL") llm_deepseek = ChatDeepSeek( model="deepseek-v4-flash", api_key=DEEPSEEK_API_KEY, base_url=DEEPSEEK_BASE_URL, ) response = llm_deepseek.invoke("请用一句话介绍你自己") print(response)2)也可以使用LangChain提供的ChatOpenAI接口直接调用
import os from langchain_openai import ChatOpenAI from dotenv import load_dotenv load_dotenv(override=True) DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API") DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_URL") llm_deepseek = ChatOpenAI( model="model="deepseek-v4-flash"", api_key=DEEPSEEK_API_KEY, base_url=DEEPSEEK_BASE_URL, ) response = llm_deepseek.invoke("请用一句话介绍你自己") print(response)# 当然这里也可以使用原生的openAI模块调用
3)中转平台调用
国内无法直接调用国外的闭源平台模型,可以通过一些中转平台进行调用。
1. OpenRouter 调用
import os from langchain_openrouter import ChatOpenRouter from dotenv import load_dotenv load_dotenv(override=True) DEEPSEEK_API_KEY = os.getenv("OpenRouter_API") DEEPSEEK_BASE_URL = os.getenv("OpenRouter_URL") # https://openrouter.ai/api/v1 llm_deepseek = ChatOpenRouter( model="deepseek-v4-flash", api_key=DEEPSEEK_API_KEY, base_url=DEEPSEEK_BASE_URL, ) response = llm_deepseek.invoke("请用一句话介绍你自己") print(response)2. CloseAI 调用
同样的中转平台 贵
4) 模型初始化的兼容方案 LangChain 1.X 后支持
会根据模型名称,自动选择初始化实例。
import os from langchain.chat_models import init_chat_model from dotenv import load_dotenv load_dotenv(override=True) DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY") DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL") llm_deepseek = init_chat_model( mode="deepseek-v4-flash", api_key=DEEPSEEK_API_KEY, base_url=DEEPSEEK_BASE_URL, model_provider="deepseek", ) response = llm_deepseek.invoke("请用一句话介绍你自己") print(response)* 模型初始化的常用参数
| 参数 | 类型 | 说明 | 默认值 |
| model | str | 必需 使用特定供应商的模型名称 | 无 |
| model_provider | str | 供应商名称 | 无 |
api_key | str | API key值。不写会尝试从环境变量取默认值 | None |
| base_url | str | API请求地址 | None |
| temperature | float | 温度 控制模型输出随机性 范围 0.0-2.0 温度越高越随机 | 0.7 |
| max_tokens | int | 限制输出的最大token | None |
| timeout | float | 超时时间(秒) | None |
| max_retries | int | 最大重试次数 | 6 |