为什么大厂都在用LangChain?一文拆解大模型应用主流开发框架!

大模型开发的5种应用架构 架构对一个项目来说至关重要,它们能帮助构建高效、可维护的系统。然而,当我们进入大模型应用领域时,传统的设计模式似乎不再完全适用。生成式 AI 等新兴技术的出现,使得我们在设计这些系统时面临前所未有的挑战。 阅读详情

本文主要从Why、What、How的角度,拆解目前主流的大模型应用开发框架LangChain,之后给到一个带RAG能力的聊天机器人(Chatbot)项目,来感受下LangChain在大模型应用开发方面的实战效果。

你将获得什么?

  • 开发一个AI大模型应用需要考虑哪些内容?
  • LangChain的核心架构都有哪些?
  • RAG的核心思路是什么?
  • 实战:如何5分钟实现一个极简智能聊天机器人Chatbot?

一、Why:为啥会有LangChain

假如从OpenAI 的API开始构建大模型应用的话,那么就得需要考虑这些问题。

  • Prompt 管理:不同的场景需要手写不同的提示词(Prompt),还要维护多个 prompt 的版本和结构,很容易混乱。
  • 调用逻辑的组织: 如果你想让模型先问用户问题,然后再去查资料,再回答——你得自己写一整套逻辑流程。
  • 多模型集成: 假如你不想用OpenAI的大模型,想尝试下HuggingFace上的其他大模型,就得需要自己封装和管理它们的接口。
  • 与外部工具对接: 想要模型查数据库、搜索引擎、文件系统?你要自己写代码去连接、格式化、处理这些数据。
  • 内存管理(聊天上下文): 比如:让 AI 记住用户之前说过什么,你要自己存储这些对话记录,并加到 prompt 里。
  • 调试 & 追踪: 如果模型表现不对,你很难知道是哪一步出了问题。没有自动化的 trace 系统。

现在,有了LangChain,你可以不用特别关注那些底层的工作,专注在你的业务即可。比如你想基于LLM开发一个问答系统,几行代码就可以完成最内核的功能:

from langchain_community.chat_models import ChatOllama
from langchain_core.messages import HumanMessage

# 初始化模型
model = ChatOllama(
    model="qwen2.5:1.5b",
    base_url="http://localhost:11434"# Ollama 服务地址
)

# 发送请求
response = model.invoke([
    HumanMessage(content="用中文写一首关于秋天的短诗")
])

print(response.content)

对,就是这么简洁。

二、What:LangChain框架拆解

官网的定义是,LangChain是一个用于开发由大型语言模型 (LLMs) 驱动的应用程序的框架。想要理解LangChain的封装逻辑,就得先理解LLM的技术堆栈思路。

2.1 LLM技术栈设计思路

当你想开发一款大模型应用的时候,直接使用其已经封装好的组件就可以。甚至针对常规的应用流程,它利用链(LangChain中Chain的由来)这个概念已经内置标准化方案了。

这里我们从新兴的大语言模型(LLM)技术栈的角度来看看为何它的理念这么受欢迎。

img

LLM技术栈主要由四个主要部分组成:

数据预处理(data preprocessing pipeline):主要包括了数据源连接、数据转化、下游连接器(如向量数据库),特别是对于繁杂的数据源,如数千个PDF、PPTX、聊天记录、抓取的HTML等,这里需要大量的数据提取、清理、转换工作,这点上跟大数据分析任务的前期步骤很类似,不同的是大模型的数据处理可能会用到OCR模型、Python脚本和正则表达式等方式,并以API方式向外部提供JSON数据,以便嵌入终端和存储在向量数据库中。

嵌入与向量存储(embeddings +vector store ):以往嵌入主要用于如文档聚类之类的特定任务,新的架构中,直接将文档及其嵌入存储在向量数据库中,可以通过LLM端点实现关键的交互模式。直接存储原始嵌入,意味着数据可以以其自然格式存储,从而实现更快的处理时间和更高效的数据检索。

LLM 终端(LLM endpoints):LLM终端负责管理模型的资源,包括内存和计算资源,并提供可扩展和容错的接口,用于向下游应用程序提供LLM输出。

LLM 编程框架(LLM programming framework):LLM编程框架提供了一套工具和抽象,用于使用语言模型构建应用程序。在现代技术栈中出现了各种类型的组件,包括:LLM提供商、嵌入模型、向量存储、文档加载器、其他外部工具(谷歌搜索等),这些框架的一个重要功能是协调各种组件。

2.2 LangChain框架核心模块

langchain-core:聊天模型和其他组件的基础抽象。

Integration packages:负责维护不同厂家的大模型,由轻量级的包组成,例如 langchain-openai、langchain-anthropic 等。

langchain:构成应用程序认知架构的链、代理和检索策略。

langchain-community:由社区维护的第三方集成工具。

langgraph:编排框架,用于将 LangChain 组件组合成具有持久化、流式处理和其他关键功能的生产就绪型应用程序。

完整的框架如:

img

这里补充框架中的两个组成:

  • LangGraph:是一个基于 LangChain 的扩展库,用于构建有状态、多角色的智能体(Agents)应用。它通过将任务流程建模为状态图(StateGraph),实现对复杂任务的精细控制和管理。
  • LangSmith:通俗一点来说,LangSmith 是一个用于开发、调试、测试和监控基于大语言模型(LLM)应用的平台,它有点像你写 LLM 应用时的 “全能开发调试仪表盘”。

三、How:基于LangChain开发带RAG能力的ChatBot项目

3.1 项目效果

先直接看下项目效果。

img

注:用户在位置1进行输入,在位置2 Jupyter的Cell底部,可以看到大模型回复的结果。

3.2 关键步骤解析

项目技术开发环境:LangChain+Ollama+Qwen2.5+Jupyter

1. 基础构建

可以看到这里主要引用了LangChain框架中的langchain_core、langchain_community,并进行了模型初始化和文件的加载处理。

import os
from typing import List, Optional
from langchain_community.chat_models import ChatOllama
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_core.messages import HumanMessage, AIMessage
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnablePassthrough
from langchain_community.vectorstores import FAISS
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_community.embeddings import OllamaEmbeddings
from langchain_community.document_loaders import PyPDFLoader, TextLoader

# 配置常量
DEFAULT_MODEL = "qwen2.5:1.5b"
OLLAMA_BASE_URL = "http://localhost:11434"

# 初始化模型
def init_model(model_name: str = DEFAULT_MODEL) -> ChatOllama:
    return ChatOllama(
        model=model_name,
        base_url=OLLAMA_BASE_URL,
        temperature=0.7,
        num_ctx=4096,
        stream=True,
        stop=["<|im_end|>"]  # 防止模型无限生成
    )

# 加载文档(支持PDF/TXT)
def load_documents(file_path: str) -> Optional[List]:
    ifnot os.path.exists(file_path):
        print(f"⚠️ 文件不存在: {file_path}")
        returnNone
    
    try:
        if file_path.endswith(".pdf"):
            loader = PyPDFLoader(file_path)
        elif file_path.endswith(".txt"):
            loader = TextLoader(file_path)
        else:
            print("❌ 不支持的文件格式(仅支持PDF/TXT)")
            returnNone
        
        return loader.load()
    except Exception as e:
        print(f"❌ 文档加载失败: {str(e)}")
        returnNone
2. 构建智能链

这一步是整个应用的核心。在这一步中完成应用的,文件解析、向量化、查询检索。并结合用户输入完成对LLM的交互。


def build_chain(model: ChatOllama, documents: Optional[List] = None):
    # ===== 提示模板设计 =====
    base_prompt = ChatPromptTemplate.from_messages([
        ("system", "你是{persona},请用{language}回答。对话历史:{history}"),
        ("human", "{input}")
    ])
    
    doc_prompt = ChatPromptTemplate.from_messages([
        ("system", """
        根据以下上下文和对话历史回答问题:
        ---上下文---
        {context}
        ---历史记录---
        {history}
        请用{language}以{persona}的身份回答:
        """),
        ("human", "{input}")
    ])
    
    # ===== 链式逻辑 =====
    if documents:
        # 文档处理流程
        embeddings = OllamaEmbeddings(model="nomic-embed-text")
        splits = RecursiveCharacterTextSplitter(
            chunk_size=1000, 
            chunk_overlap=200
        ).split_documents(documents)
        
        vectorstore = FAISS.from_documents(splits, embeddings)
        retriever = vectorstore.as_retriever(search_kwargs={"k": 3})
        
        chain = (
            RunnablePassthrough.assign(
                context=lambda x: "\n".join(
                    f"[来源{i+1}]: {doc.page_content}"
                    for i, doc in enumerate(retriever.get_relevant_documents(x["input"]))
                ),
                persona=lambda _: "专业AI助手",
                language=lambda _: "中文",
                history=lambda x: "\n".join(
                    f"{msg.type}: {msg.content}"
                    for msg in x.get("history", [])
                )
            )
            | doc_prompt
            | model
            | StrOutputParser()
        )
    else:
        # 基础对话流程
        chain = (
            RunnablePassthrough.assign(
                persona=lambda _: "友好AI伙伴",
                language=lambda _: "中文",
                history=lambda x: "\n".join(
                    f"{msg.type}: {msg.content}"
                    for msg in x.get("history", [])
                )
            )
            | base_prompt
            | model
            | StrOutputParser()
        )
    
    return chain
3.构建交互式聊天框架

这一步主要构建起用于与大模型聊天的用户界面。可以看到从用户输入到LLM相应,以及保留最近10轮的对话上下文信息。

def chat(model_name: str = DEFAULT_MODEL, file_path: Optional[str] = None):
    # 初始化
    model = init_model(model_name)
    documents = load_documents(file_path) if file_path elseNone
    chain = build_chain(model, documents)
    history = []
    
    print(f"\n🚀 已启动 {model_name} 聊天机器人({'文档模式' if documents else '纯对话模式'})")
    print("输入 'exit' 退出 | 'reset' 清空历史 | 'switch' 切换模型\n")
    
    whileTrue:
        try:
            # 用户输入
            user_input = input("👤 你: ")
            if user_input.lower() == 'exit':
                break
            elif user_input.lower() == 'reset':
                history = []
                print("🔄 历史已清空")
                continue
            elif user_input.lower() == 'switch':
                new_model = input(f"当前模型: {model_name} → 输入新模型名(如 deepseek-r1:7b): ")
                model_name = new_model.strip()
                model = init_model(model_name)
                chain = build_chain(model, documents)
                print(f"🔄 已切换至模型: {model_name}")
                continue
            
            # 流式输出
            print("\n🤖 AI: ", end="", flush=True)
            full_response = ""
            for chunk in chain.stream({"input": user_input, "history": history}):
                print(chunk, end="", flush=True)
                full_response += chunk
            
            # 更新历史(限制最大长度)
            history.extend([
                HumanMessage(content=user_input),
                AIMessage(content=full_response)
            ])
            history = history[-10:]  # 保留最近10轮对话
            
            print("\n" + "─" * 50 + "\n")
            
        except KeyboardInterrupt:
            print("\n⏹️ 对话已终止")
            break
        except Exception as e:
            print(f"\n❌ 错误: {str(e)}")
4.运行应用程序

这个应用不仅支持纯LLM对话的,还支持RAG的方式进行对话。

if __name__ == "__main__":
    # 示例:带PDF文档的聊天
    # chat(file_path="knowledge.pdf")
    
    # 纯对话模式
    chat()

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

大模型应用开发框架 LangChain 学习笔记 一时间大模型如百花齐放,百鸟争鸣,并在向各个行业领域渗透,让人感觉通用人工智能仿佛就在眼前。基于大模型开发的应用和产品也如雨后春笋,让人目不暇接,每天都有很多新奇的应用和产品问世,有的可以充当你的朋友配你聊天解闷,有的可以充当你的老师帮你学习答疑,有的可以帮你写文章编故事,有的可以帮你写代码改 BUG,大模型的崛起正影响着我们生活中的方方面面。正是在这样的背景下,为了方便和统一基于大模型的应用开发,一批大模型应用开发框架横空出世,LangChain 就是其中最流行的一个。正如前文所述,LangChain 是 阅读详情

相关推荐

大模型框架汇总:大模型框架Ollama、大模型框架vLLM、大模型框架LightLLM、大模型框架llama.cpp、大模型框架LocalAI、大模型框架veGiantModel

大模型框架汇总:大模型框架Ollama、大模型框架vLLM、大模型框架LightLLM、大模型框架llama.cpp、大模型框架LocalAI、大模型框架veGiantModel

2402_84466582的博客 1万+

2024年掌握这些大模型应用开发框架,不再失业

如果你是新手对于LLM相关知识不清楚,只是想着试试,你可以从langchain开始,他们的文档对新手比较友好,一些概念也比较简单,代码也便于理解,可以帮助你入门简单的LLM应用。如果你已经具备相关LLM知识,并且具备coding能力,想要开发商业应用,你可以使用LlamaIndex,因为它帮你封装好了很多解决RAG问题的组件,你可以直接使用,但是你需要自己调式,修改一些prompt以满足自己应用的要求。

elite1991的博客 4753

小白跑WRF第五天,安装WPS和静态地理数据

小白跑WRF第四天,安装WPS一、WPS简介二、下载和安装WPSV4.0第一步、进入Build_WRF文件夹第二步、下载WPSV4.0第三步、解压WPS安装包第四步、修改intmath.f(必须执行)第五步、安装WPS三、修改namelist.wps 一、WPS简介 二、下载和安装WPSV4.0 第一步、进入Build_WRF文件夹 cd Build_WRF 第二步、下载WPSV4.0 下载WPSV4.0的安装包有以下三种方式: 利用Linux命令下载。 进入网站https://www2.mmm.uca

weixin_42372313的博客 2万+

来了!10个构建Agent的大模型应用框架

Agentic AI 将引入一种以目标为导向的数字劳动力,这种劳动力能够自主制定计划并采取行动,是劳动力的延伸。—— Gartner随着生成式人工智能()的蓬勃发展,基于大型模型的应用已经悄然融入我们的日常工作和生活,它们在诸多领域中显著提升了生产力和工作效率。为了更便捷地构建这些基于大模型的应用程序,开源社区和产品开发者们正以前所未有的速度进行创新。在这些创新中,面向智能体()的应用,即所谓的,已经崭露头角,成为近年来生成式AI系统中最具潜力的明星。

m0_63171455的博客 1279

有关SPSS中Fisher精确检验无法进行的解决方法(由于无法打开临时文件,因此无法进行计算)

最近在帮一个四年生完成她的毕业论文,在用SPSS进行R×C表检验的时候,发现Fisher精确检验的结果无法显示,提示为“由于无法打开临时文件,因此无法进行计算”,大概像下图一样。 (这图是从网上找的) 然...

chuyang37的博客 3万+

gdb对dwarf调试信息的解析和使用

gdb的对dwarf的调试信息的解析到使用的过程分析

JS072110的专栏 9568

大厂偏爱LangChain?一文深度剖析大模型开发框架秘诀

在当下大模型应用开发的浪潮中,LangChain宛如一颗璀璨之星,备受大厂青睐。本文将全方位拆解这一主流开发框架,带您深入领略其魅力。

m0_48891301的博客 1479

VSLAM框架对比

格VSLAM特点介绍: (一)ORB-SLAM2 (二)ORB-SLAM3 (三)LSD-SLAM (四)

ljtx200888的博客 2295

为什么大厂都偏爱LangChain?一文深度剖析大模型开发框架秘诀

在当下大模型应用开发的浪潮中,LangChain宛如一颗璀璨之星,备受大厂青睐。本文将全方位拆解这一主流开发框架,带您深入领略其魅力。

youmaob的博客 1101

Android 13.0 展讯平台关机充电动画横屏显示修改

在13.0的系统rom定制化开发中,在关于展讯平台的产品中,系统默认的充电动画是竖屏显示的,但是在像平板的产品中竖屏动画肯定不符合规范, 所以需要在平板TV产品中,充电动画同时也是需要修改为横屏显示的,接下来就来分析下充电动画的相关绘制流程,然后实现功能

安卓兼职framework和app工程师的博客 410

YOLOv11改进 | 主干/Backbone篇 | 利用RT-DETR主干网络PPHGNetV2助力yolov11有效涨点(轻量化目标检测网络)

本文给大家带来利用RT-DETR模型主干HGNet去替换YOLOv11的主干,RT-DETR是今年由百度推出的第一款实时的ViT模型,其在实时检测的领域上号称是打败了YOLO系列,其利用两个主干一个是HGNet一个是ResNet,其中HGNet就是我们今天来讲解的网络结构模型,这个网络结构目前还没有推出论文,所以其理论知识在网络上也是非常的少,我也是根据网络结构图进行了分析(精度mAP提高0.05)。YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备​目录一、本文介绍。

Snu77的博客 3721

为什么大厂更喜欢用大模型应用开发框架LangChain,本文将从三个角度详解

如果你真的想学习大模型,请不要去网上找那些零零碎碎的教程,真的很难学懂!你可以根据我这个学习路线和系统资料,制定一套学习计划,只要你肯花时间沉下心去学习,它们一定能帮到你!

2401_85373691的博客 930

史上最牛逼的导航网站(很全很详细)

今天,给大家推荐47个聚合型的导航网站 每一个都收录上百个网站,1个能顶100个,丝毫没有夸张的成分。 (推荐收藏) 设计师导航网站 01 优设导航 https://hao.uisdc.com/ 设计师必备的导航网站,包含设计工具、素材资源、字体设计、配色方案、酷站模板等。 界面清晰无广告,收录网站超过520个。 02 设计导航 http://h...

孙叫兽的博客 7万+

大模型时代,前端必须了解一下LangChain应用开发框架_langchain框架配合前端开发,零基础入门到精通,收藏这篇就够了

LangChain本身是一个开源开发框架,目前提供Python和Js两种版本,它以大模型作为其核心依赖之一,以让实现应用目标更便捷。

Python_0011的博客 1100

无需SLAM建图,直接生成Gazebo仿真环境的二维代价地图的功能包pgm_map_creator适配ROS Noetic编译报错及解决方法

在ROS Noetic中,使用`pgm_map_creator`功能包直接生成Gazebo仿真环境的二维代价地图时,可能会遇到各种编译和运行错误。本篇博客详细解析了在适配ROS Noetic过程中常见的报错及其解决方法,包括Boost文件结构更新、C++版本兼容性、Gazebo函数名变更、链接库缺失以及protobuf文件加载错误。通过逐步排查和修改,如更换头文件路径、调整C++标准、更新CMakeLists.txt文件等,成功解决了这些问题,使得`pgm_map_creator`功能包能够顺利编译和运行。

慕羽★的博客 2261

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

AI Agent框架全解析:从入门到进阶,Coze、Dify、LangFlow、LangChain、AutoGen,一文详解!

文章全面介绍当前热门AI Agent框架,分为入门区(Coze、Dify、LangFlow)和进阶区(LangChain、AutoGen等),详细分析各框架特点、适用场景及技术优势。通过对比表格帮助开发者根据需求选择合适工具,无论是零代码快速验证还是企业级应用开发,都能找到解决方案,助力AI智能体项目落地。

libaiup的博客 1896

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

收藏!大模型岗位真相曝光,程序员/小白必看(附大厂JD拆解)

近两年来,大模型行业迎来爆发式增长,热度居高不下,无论是深耕传统技术领域的从业者——Java、C++开发者、前端工程师,还是数据分析师、架构师,都纷纷入局,开启了大模型赛道的“内卷”模式!与此同时,后台也收到了大量粉丝的提问,尤其是刚入门的小白和想转型的程序员,最关心的两个核心问题始终是:当前AI行业就业前景到底如何?入门大模型,选择哪个技术方向最有发展潜力、最容易落地?(大模型最新招聘热度图,直观感受行业需求)

优快云_224022的博客 784

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

大模型框架系列1--LangChain,大模型入门到精通,收藏这篇就足够了!

LangChain 是一个用于构建基于大型语言模型(LLM)应用程序的开源框架,旨在帮助开发者将语言模型与其他数据源、工具和计算资源结合,创建更复杂且实用的应用。

Y525698136的博客 927

吴恩达&OpenAI联手打造的LLM大模型开发指南:从API应用到LangChain实战,程序员必备!

《LLM大模型通关课程手册》是由吴恩达与OpenAI联合打造的开发者指南,专为国内开发者量身定制。教程以实用为导向,从提示工程、ChatGPT API应用到LangChain框架开发,再到个人数据接入,系统讲解大模型应用开发技能。内容涵盖基础入门与实战落地,适合AI编程新手和科研学习者,是快速掌握LLM开发、少走弯路的经典指南。

m0_63171455的博客 681
上一篇: 一文详解十款主流LLM应用框架:LangChain、Dify、LlamaIndex....
下一篇: 零基础!扣子(coze)工作流搭建入门教程【手把手教会】
大模型教程.
博客等级 码龄5年 5275粉丝 2891原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值