当前位置: 首页 > wzjs >正文

单页导航网站模板wordpress自动标签插件

单页导航网站模板,wordpress自动标签插件,手机设计图制作软件,网页设计与制作怎么插视频什么是 LangChain? LangChain 是一个专门为 大语言模型 (LLM) 应用开发设计的开源框架,帮你快速实现: • 多轮对话 • 知识库问答 (RAG) • 多工具协同调用 (function calling / tool) • 智能体 Agent 自动决策任务链 解耦 LLM 接口、Prom…

什么是 LangChain?

LangChain 是一个专门为 大语言模型 (LLM) 应用开发设计的开源框架,帮你快速实现:
• 多轮对话
• 知识库问答 (RAG)
• 多工具协同调用 (function calling / tool)
• 智能体 Agent 自动决策任务链

解耦 LLM 接口、Prompt、Memory、检索、工具、Agent,模块化管理,专注业务逻辑开发。

LangChain 核心功能详解

模块功能说明典型用途
LLM封装各类语言模型 (OpenAI、Azure、Gemini、Claude) 接口文本生成、摘要、翻译、续写
Prompt灵活编排多角色 Prompt 模板,支持变量插值和参数化调用定制多轮对话、RAG、文档总结
Memory保存对话上下文、变量或历史记录,维持多轮上下文一致性多轮对话机器人、智能 Agent
Retriever检索器,配合向量库 (FAISS / Azure Search / Milvus) 实现文档检索知识库检索问答、RAG 系统
Tool封装 Python 函数 / 外部 API,让 LLM 能实时调用实时查天气、数据库读写、调用第三方接口
Function CallingLLM 判断需要调用 Tool 时,自动生成调用请求(含参数),返回结构化 JSONLLM 与工具实时交互,动态任务执行
Agent智能体,能调度多个工具,执行多步骤任务链,有判断、记忆、推理能力AutoGPT、任务规划、多接口串联
Document Loader加载本地/远程/数据库/网页文档,支持多格式 (txt、pdf、markdown)知识库构建、RAG 文档管理
Text Splitter将长文档拆分成小块,便于后续向量化检索,支持按字数/句子/段落拆分文档分割、RAG 知识库优化
Embedding Model将文本转为向量,便于检索与相似度计算,兼容 OpenAI / Huggingface 等向量检索、RAG、智能推荐

Azure OpenAI and Gemini

下文会用langchian来分别对Azure OpenAI和Gemini的实现,所以这里也简单对二者进行一个功能对比。
功能对比

项目Azure OpenAIGoogle Gemini
📖 背景厂商Microsoft Azure + OpenAIGoogle DeepMind (PaLM 升级版)
📦 模型版本GPT-3.5 / GPT-4 / GPT-4oGemini 1 / Gemini 1.5 Pro / Gemini Flash
📑 接口方式REST API / Azure SDK / LangChain / Function Calling 支持REST API / Google Generative AI SDK / LangChain
📦 兼容 LangChain
📃 Function Calling✅ (Gemini 1.5 后原生支持)
🔒 部署模式私有化企业 Azure 内网部署 / 公有云公有云部署
📂 知识库检索 (RAG)✅ (Azure Cognitive Search / FAISS / Chroma)✅ (FAISS / Google Cloud Search / Chroma)
🌐 多模态支持GPT-4o (文本+图像)Gemini 1.5 (文本+图片+音频+视频)
💰 成本控制Azure 统一计费,按 token 收费Google Cloud Platform 计费,按 token 或调用次数收费
📊 性能高稳定性,企业级 SLA,支持模型多副本部署多模态能力领先,性能灵活
📌 适用场景企业 AI 应用、智能客服、知识库问答、Agent、RAGAI Copilot、多模态问答、AI 助手、多模态检索
📦 API Key 配置方式Azure Portal → Azure OpenAI Resource → Key + EndpointGoogle Cloud Console → API & Services → Credentials + Key
📚 官方文档https://learn.microsoft.com/azure/cognitive-services/openai/https://ai.google.dev/
  • Azure OpenAI:稳定、企业私有部署强、RAG 知识库生态好、适合企业应用落地。
  • Google Gemini:多模态能力超强、文本+图像+音频+视频一体、灵活 AI Copilot 场景首选。

实战案例汇总

环境准备

基本库

!python version  #3.12.x
!pip install python-dotenv requests tiktoken#langchian
!pip install langchain # openai
## Azure 用法同 OpenAI,只是多了 azure_endpoint 和 deployment_name 配置。
!pip install langchain-openai # gemini
!pip install langchain-google-genai

验证安装

from langchain import __version__
print(__version__) #0.3.25

.env

GOOGLE_API_KEY=AIza****AZURE_API_KEY=N2****
AZURE_ENDPOINT=****
AZURE_API_VERSION=2024-12-01-preview
AZURE_DEPLOYMENT=o4-mini-global

LangChain 调用 Gemini/Azure OpenAI 示例

调用 Gemini

from langchain_google_genai import ChatGoogleGenerativeAI
from dotenv import load_dotenv
import osload_dotenv()
llm = ChatGoogleGenerativeAI(model="gemini-2.0-flash",google_api_key=os.getenv("GOOGLE_API_KEY")
)# 普通 prompt 调用
response = llm.invoke("用一句话介绍LangChain")
print(response.content)

LangChain是一个用于开发由大型语言模型 (LLM) 驱动的应用程序的框架。

调用Azure OpenAI

from langchain_openai import AzureChatOpenAI
load_dotenv()
llm2 = AzureChatOpenAI(deployment_name=os.getenv("AZURE_DEPLOYMENT"),openai_api_key=os.getenv("AZURE_API_KEY"),azure_endpoint=os.getenv("AZURE_ENDPOINT"),api_version=os.getenv("AZURE_API_VERSION"),temperature=1
)response = llm2.invoke("用一句话介绍LangChain")
print(response.content)

LangChain是一个开源框架,通过链式调用、内存管理与工具集成,简化基于大型语言模型的应用构建。


PromptTemplate

from langchain.prompts import PromptTemplate# PromptTemplate 调用
prompt = PromptTemplate(input_variables=["product"],template="请写一段关于 {product} 的夸赞"
)
response = llm.invoke(prompt.format(product="小米YU7"))
print(response.content)

多轮消息

from langchain.schema import AIMessage, HumanMessage, SystemMessage# 多轮消息
response = llm.invoke([SystemMessage(content="你是一个 Python 顾问,只能用代码回答。"),HumanMessage(content="写一个hello world")
])
print(response.content)

```python
print(“Hello, world!”)
```

Few-ShotPromptTemplate

from langchain.prompts import FewShotPromptTemplate, PromptTemplate# Few-ShotPromptTemplate
# 定义范例
examples = [{"question": "北京今天天气如何?", "answer": "北京今天晴天 28°C"},{"question": "上海今天天气?", "answer": "上海今天多云 27°C"}
]# 单个示例模板
example_prompt = PromptTemplate(input_variables=["question", "answer"],template="问:{question}\n答:{answer}\n"
)# few-shot 模板
prompt = FewShotPromptTemplate(examples=examples,example_prompt=example_prompt,suffix="问:{input}\n答:",input_variables=["input"]
)response = llm.invoke(prompt.format(input="广州天气?"))
print(response.content)

广州今天多云 30°C

多轮对话+memory

from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChainmemory2 = ConversationBufferMemory()
conversation = ConversationChain(llm=llm, memory=memory2)
conversation.run("你好,我是谁?")
print(conversation.run("我刚才说了什么?"))

你刚才说:“你好,我是谁?”

RAG

环境依赖

!pip install faiss-cpu        # 向量数据库,推荐CPU版本
!pip install tiktoken         # Tokenizer

Gemini

from langchain_google_genai import GoogleGenerativeAIEmbeddings, ChatGoogleGenerativeAI
from langchain.vectorstores import FAISS
from langchain.chains import RetrievalQA
from langchain.text_splitter import CharacterTextSplitter# 1. 假想手机产品介绍文本
docs = ["""大豆15PRO 5G 是由星辰科技推出的一款旗舰智能手机,搭载最新的5纳米制程芯片,配备8核处理器和12GB高速内存,确保流畅的多任务处理能力。该机拥有6.7英寸AMOLED全面屏,支持120Hz刷新率和HDR10+显示技术,带来细腻逼真的视觉体验。摄像方面,大豆15PRO 5G 配备后置四摄系统,包括一颗1亿像素主摄、超广角镜头、微距镜头和深度感应器,支持夜景增强和4K视频录制功能。前置摄像头为3200万像素,支持美颜和人脸解锁。电池容量为4500mAh,支持55W有线快充和30W无线快充,续航表现优异。操作系统基于最新的StarOS,优化了系统流畅度和隐私保护。大豆15PRO 5G 还支持5G双卡双待、NFC支付以及IP68级防尘防水。该产品定位高端用户,主打性能和拍照体验,适合游戏玩家和摄影爱好者使用。"""
]# 2. 文本拆分
# 就把文本每100个字符拆一块。每个块会和前一个块重叠10个字符。
## 即块为分为[0,100),[91,190)....
text_splitter = CharacterTextSplitter(chunk_size=100, chunk_overlap=10)
texts = []
for doc in docs:texts.extend(text_splitter.split_text(doc))# 3. 初始化 Gemini Embeddings
embeddings = GoogleGenerativeAIEmbeddings(model="models/gemini-embedding-exp-03-07")# 4. 创建向量索引
vector_store = FAISS.from_texts(texts, embeddings)# 5.构建 RAG 检索问答链
qa_chain = RetrievalQA.from_chain_type(llm=llm, retriever=vector_store.as_retriever())# 6. 测试问答
query = "大豆15PRO的规格是什么?"
answer = qa_chain.run(query)
print("Q:", query)
print("A:", answer)

输出:

Q: 大豆15PRO的规格是什么?
A: 大豆15PRO 5G 是一款旗舰智能手机,具有以下规格:
* 芯片:最新的5纳米制程芯片,8核处理器,12GB高速内存
* 屏幕:6.7英寸AMOLED全面屏,120Hz刷新率,HDR10+
* 电池:4500mAh,55W有线快充,30W无线快充
* 操作系统:StarOS
* 网络:5G双卡双待,NFC,IP68级防尘防水
* 后置摄像头:1亿像素主摄、超广角镜头、微距镜头、深度感应器,支持夜景增强和4K视频录制
* 前置摄像头:3200万像素,支持美颜和人脸解锁

Azure OpenAI

from langchain_openai import AzureOpenAIEmbeddings
from langchain.vectorstores import FAISS
from langchain_openai import AzureChatOpenAI
from langchain.chains import RetrievalQA
from langchain.text_splitter import CharacterTextSplitterload_dotenv()
# 1. 假想手机产品介绍文本
#data....# 2. 文本拆分
# 就把文本每100个字符拆一块。每个块会和前一个块重叠10个字符。
## 即块为分为[0,100),[91,190)....
text_splitter = CharacterTextSplitter(chunk_size=100, chunk_overlap=10)
texts = []
for doc in docs:texts.extend(text_splitter.split_text(doc))# 3. Embeddings 初始化(Azure OpenAI)
embeddings = AzureOpenAIEmbeddings(azure_endpoint=os.getenv("AZURE_ENDPOINT"),azure_deployment="text-embedding-3-small",openai_api_version=os.getenv("AZURE_API_VERSION"),openai_api_key=AZURE_API_KEY
)# 4. 创建向量索引
docsearch = FAISS.from_texts(texts, embeddings)# 5.构建 RAG 检索问答链
qa_chain = RetrievalQA.from_chain_type(llm=llm2, retriever=docsearch.as_retriever())# 6. 测试问答
query = "大豆15PRO的规格是什么?"
answer = qa_chain.run(query)
print("Q:", query)

输出:

Q: 大豆15PRO的规格是什么?
A: 大豆15PRO 5G 主要规格一览:• 处理器  – 最新 5 nm 制程 8 核芯片  • 内存  – 12 GB 高速 RAM  • 屏幕  – 6.7 英寸 AMOLED 全面屏  – 120 Hz 刷新率  – HDR10+ 显示技术  • 电池与充电  – 4500 mAh 电池  – 55 W 有线快充  – 30 W 无线快充  • 操作系统  – 基于最新 StarOS  • 网络与连接  – 5G 双卡双待  – NFC 支付  – IP68 级防尘防水  • 摄像系统  – 后置四摄  • 1 亿像素主摄  • 超广角镜头  • 微距镜头  • 深度感应器  – 夜景增强、4K 视频录制  – 前置 3200 万像素自拍摄像头(支持美颜、人脸解锁)该机面向高端用户,主打性能与拍照体验,适合游戏玩家和摄影爱好者。

Function Calling

Gemini

import os, requests
from langchain.agents import initialize_agent, Tool, AgentType
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_openai import AzureChatOpenAI
from langchain.tools import StructuredTooldef get_weather(city: str) -> str:return f"{city} 今天天气晴朗 26°C (模拟数据)"#weather_tool = Tool(name="get_weather", func=get_weather, description="获取城市天气")weather_tool_func = StructuredTool.from_function(func=get_weather,name="get_weather",description="获取城市天气"
)agent_gemini = initialize_agent(tools=[weather_tool_func],llm=llm,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,verbose=True
)
print("Gemini Tool:", agent_gemini.run("查成都天气"))

输出

> Entering new AgentExecutor chain...
我需要查询成都的天气。
Action: get_weather
Action Input: 成都
Observation: 成都 今天天气晴朗 26°C (模拟数据)
我已经知道了成都的天气。
Final Answer: 成都今天天气晴朗,26°C。> Finished chain.
Gemini Tool: 成都今天天气晴朗,26°C。

Azure OpenAI

agent_azure = initialize_agent(tools=[weather_tool],llm=llm2,agent=AgentType.OPENAI_FUNCTIONS,verbose=True
)
print("Azure Tool:", agent_azure.run("查广州天气"))

输出

> Entering new AgentExecutor chain...Invoking: `get_weather` with `广州`广州 今天天气晴朗 26°C (模拟数据)

多工具任务链 Agent

Gemini

def get_weather(city: str) -> str:return f"{city} 天气晴 27°C"def get_joke(_) -> str:"""本方法不需要任何入参"""url = "https://icanhazdadjoke.com/"return requests.get(url, headers={"Accept": "text/plain"}).texttools = [Tool(name="weather", func=get_weather, description="获取天气"),Tool(name="joke", func=get_joke, description="讲个笑话")
]agent_gemini = initialize_agent(tools=tools,llm=llm,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,verbose=True
)
print("Gemini Agent:", agent_gemini.run("帮我查北京天气,然后讲个笑话,最后将笑话翻译为中文"))

输出

> Entering new AgentExecutor chain...
Thought: First, I need to find out the weather in Beijing. Then, I need to get a joke. Finally, I will present both pieces of information.
Action: weather
Action Input: 北京
Observation: 北京 天气晴 27°C
Now I know the weather in Beijing. I need to get a joke.
Action: joke
Action Input: _
Observation: Why are pirates called pirates? Because they arrr!
I have the weather and the joke. Now I need to present them together.
Final Answer: 北京天气晴,27°C。笑话:Why are pirates called pirates? Because they arrr! (为什么海盗叫海盗?因为他们啊啊啊!)> Finished chain.
Gemini Agent: 北京天气晴,27°C。笑话:Why are pirates called pirates? Because they arrr! (为什么海盗叫海盗?因为他们啊啊啊!)

文章转载自:

http://b92xpX7p.qxpcq.cn
http://Qs0JBWv3.qxpcq.cn
http://E9EG5EPL.qxpcq.cn
http://tojc4FqE.qxpcq.cn
http://hGB4ZH3M.qxpcq.cn
http://cgJkqGr8.qxpcq.cn
http://XYC9NbEm.qxpcq.cn
http://MdXz50Rb.qxpcq.cn
http://zj0lJxTA.qxpcq.cn
http://4ztjB9zg.qxpcq.cn
http://P6aLmd3Z.qxpcq.cn
http://0vfaNiBz.qxpcq.cn
http://KADJBBNb.qxpcq.cn
http://PmUEJ6kq.qxpcq.cn
http://MlNB4L6y.qxpcq.cn
http://yVTkyGnO.qxpcq.cn
http://IYb9OdOD.qxpcq.cn
http://WJdnBlMG.qxpcq.cn
http://l4vv5ODU.qxpcq.cn
http://0qDZbyig.qxpcq.cn
http://Q3dg6vmH.qxpcq.cn
http://M2pRczLw.qxpcq.cn
http://JvBqDQwF.qxpcq.cn
http://ykBACzqb.qxpcq.cn
http://qIm52zX6.qxpcq.cn
http://ZSvnxbVU.qxpcq.cn
http://BCmJK3Y8.qxpcq.cn
http://LlR3RRdO.qxpcq.cn
http://qLedRVYg.qxpcq.cn
http://nLKexAuu.qxpcq.cn
http://www.dtcms.com/wzjs/648021.html

相关文章:

  • 哪个网站有代做课设的网站怎么找回密码
  • 网站建设网站搭建公众号同步到dede网站
  • 阿里云建站和华为云建站兰州app定制开发
  • 网站设计步骤图佛山定制网站建设
  • 松江新城建设集团有限公司网站河南建设监理协会官方网站
  • 家具网站设计网站wordpress 教育
  • 建设银行广西分行招聘网站个人电子商务网站建设方案
  • 我的世界建筑网站深圳营销型网站公司
  • 网站建设案例图片村网通为每个农村建设了网站
  • 工作准备区域的组成包括企业网站seo怎么做
  • 玉溪定制网站建设网页设计这个行业怎么样
  • 500亿网站建设免费软件库下载
  • 广西城乡建设名网站门窗 东莞网站建设
  • 主流网站开发技术框架美文网站源码
  • 阿尔山网站建设文化建设素材
  • 可以免费做3dLOGO的网站网络小说写作网站
  • 广州网站建设乐云seo模板中心江苏网站建设要多少钱
  • 无法进行网站备案百度站长平台链接提交
  • 江门网站推广想做网站选什么专业
  • 金科科技 做网站logo字体设计在线生成
  • 红酒 公司 网站建设手机网站页面尺寸大小
  • php网站开发开题报告iis建设个人网站
  • 高端品牌网站建设网站开发注意什么韩国导航地图app
  • 企业型网站建设怎样收费公司网站建设需要注意什么
  • 做网站的赢利点优化游戏性能的软件
  • dede网站 异步生成建设部网站申请表无法打印
  • 网站内容及实现的方式网页制作与设计电子书
  • 满城区城乡建设局网站好的手机端网站模板下载软件
  • 网站显示后台登陆链接晚上必看正能量网站短视频
  • 滨湖区建设局官方网站装修网站cms