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

初探大模型开发:使用 LangChain 和 DeepSeek 构建简单 Demo

最近,我开始接触大模型开发,并尝试使用 LangChainDeepSeek 构建了一个简单的 Demo。通过这个 Demo,我不仅加深了对大模型的理解,还体验到了 LangChain 和 DeepSeek 的强大功能。下面,我将分享我的开发过程以及一些心得体会。


1. 什么是 LangChain?

LangChain 是一个用于构建大模型应用的框架,旨在简化与大模型(如 GPT、DeepSeek 等)的交互过程。它提供了丰富的工具和模块,帮助开发者快速构建基于大模型的应用程序,例如聊天机器人、问答系统、文本生成工具等。LangChain 的核心优势在于其灵活性和可扩展性,开发者可以轻松地将不同的模型、数据源和工具链结合在一起,构建复杂的应用。

LangChain 的主要功能包括:

  • Prompt 管理:支持动态生成和模板化提示词(Prompt),方便与大模型交互。
  • 链式调用:可以将多个任务串联起来,形成复杂的工作流。
  • 数据集成:支持与外部数据源(如数据库、API)集成,增强模型的能力。
  • 记忆功能:支持会话记忆,使模型能够在多轮对话中保持上下文。

通过 LangChain,开发者可以更高效地利用大模型的能力,而无需关注底层的复杂细节。


2. 环境准备

在开始之前,我们需要安装必要的 Python 库。以下是安装命令:

pip3 install langchain-core langchain-openai

这里我们使用 pip3 来确保安装的是 Python 3 版本的库。


3. 配置 DeepSeek API 密钥

为了使用 DeepSeek 的 API,我们需要获取并配置 API 密钥。将你的 DeepSeek API 密钥设置为环境变量:

import os

os.environ["DEEPSEEK_API_KEY"] = "your_deepseek_api_key"

这里需要自己去申请一个API Key (申请入口),deepSeek的目前没有免费的了,需要自己充值,我充了10块,完全够用。


4. 创建 LangChain 应用

接下来,我们使用 LangChain 和 DeepSeek 构建一个简单的对话应用。代码如下:

from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
import os

os.environ["DEEPSEEK_API_KEY"] = "your_deepseek_api_key"

# 配置 DeepSeek 模型
llm = ChatOpenAI(
    model_name="deepseek-chat",  # 使用 DeepSeek 的模型名称
    openai_api_key=os.getenv("DEEPSEEK_API_KEY"),
    openai_api_base="https://api.deepseek.com/v1"  # DeepSeek 的 API 地址
)

# 创建对话模板
prompt = ChatPromptTemplate.from_messages([
    ("system", "你是世界级技术专家"),
    ("user", "{input}")
])

# 构建对话链
chain = prompt | llm

# 调用模型并获取结果
result = chain.invoke({"input": "请评价 Swift 这门语言,200 个字以内"})

# 输出结果
print(result.content)

5. 运行结果

运行上述代码后,模型会生成一段对 Swift 语言的评价。以下是我得到的输出结果:

Swift 是一门现代、安全且高效的编程语言,由苹果公司开发,主要用于 iOS、macOS
等平台的应用开发。其语法简洁清晰,支持类型推断和可选类型,减少了常见编程错误。Swift 具备强大的性能,接近 C
语言的运行速度,同时支持面向对象和函数式编程范式。其内存管理采用自动引用计数(ARC),简化了内存管理。Swift
还拥有丰富的标准库和活跃的社区支持,开发者可以快速构建高性能应用。总体而言,Swift 是一门适合现代应用开发的优秀语言。

请添加图片描述


6. 总结

LangChain 提供了简洁的接口和灵活的框架,使得构建大模型应用变得非常容易。而 DeepSeek 的模型则表现出了极高的语言理解和生成能力,能够生成高质量的内容。

如果你也对大模型开发感兴趣,不妨从这个小 Demo 开始,逐步深入学习和实践。

希望这篇博客对你有所帮助,欢迎在评论区分享你的想法和经验!



http://www.kler.cn/a/585966.html

相关文章:

  • Apache Doris中都用了哪些开发语言,编译过程中用到了哪些编译器,以及用到了哪些成熟的技术框架
  • 支持Linux、鸿蒙的工业AIOT智能终端在钢铁厂的应用
  • JavaScript性能优化实战:从8s到0.8s的极致提升
  • 钉钉(excel)能让表格中不是‘北京’的字符串自动加亮显示(方便查看)以及隔行填充严颜色是斑马色(方便查看)嘛
  • Vue 3 事件总线详解:构建组件间高效通信的桥梁
  • FPGA初级项目10——基于SPI的DAC芯片进行数模转换
  • Vlog 片头制作
  • Excel 数据转换为SQL语句
  • 通过Geopandas进行地理空间数据可视化
  • 分布式系统日志排查综合场景
  • 第P7周:马铃薯病害识别(VGG-16复现)
  • 今日所学——Word批量给图片插入题注,设置题注起始编号
  • Linux第三次作业
  • 行为模式---状态模式
  • 目标跟踪之DeepSort算法(4)
  • 从DeepSeek探讨大语言模型在建筑及能源行业的应用趋势和技术方法(52页PPT)
  • macOS 如何进入安全模式
  • 使用multiprocessing实现进程间共享内存
  • 自定义Linux网络协议的开发与测试
  • 达梦数据库导入dmp文件:本地编码:PG_GBK, 导入文件编码:PG_UTF8 [警告]服务器与文件内数据的 CASE_SENSITIVE 参数不匹配