LangChain 实战课
黄佳
新加坡科研局首席研究员
8120 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 28 讲
结束语 & 结课测试 (2讲)
LangChain 实战课
15
15
1.0x
00:00/00:00
登录|注册

01|LangChain系统安装和快速入门

你好,我是黄佳,欢迎来到 LangChain 实战课!
在我们开始正式的学习之前,先做一些基本知识储备。虽然大语言模型的使用非常简单,但是如果我们通过 API 来进行应用开发,那么还是有些基础知识应该先了解了解,比如什么是大模型,怎么安装 LangChain,OpenAI 的 API 有哪些类型,以及常用的开源大模型从哪里下载等等。

什么是大语言模型

大语言模型是一种人工智能模型,通常使用深度学习技术,比如神经网络,来理解和生成人类语言。这些模型的“大”在于它们的参数数量非常多,可以达到数十亿甚至更多,这使得它们能够理解和生成高度复杂的语言模式。
你可以将大语言模型想象成一个巨大的预测机器,其训练过程主要基于“猜词”:给定一段文本的开头,它的任务就是预测下一个词是什么。模型会根据大量的训练数据(例如在互联网上爬取的文本),试图理解词语和词组在语言中的用法和含义,以及它们如何组合形成意义。它会通过不断地学习和调整参数,使得自己的预测越来越准确。
语言模型帮我们预测下一个词
比如我们给模型一个句子:“今天的天气真”,模型可能会预测出“好”作为下一个词,因为在它看过的大量训练数据中,“今天的天气真好”是一个常见的句子。这种预测并不只基于词语的统计关系,还包括对上下文的理解,甚至有时能体现出对世界常识的认知,比如它会理解到,人们通常会在天气好的时候进行户外活动。因此也就能够继续生成或者说推理出相关的内容。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

LangChain系统安装和快速入门 本文介绍了LangChain系统的安装和快速入门方法,以及OpenAI的API和不同类型的模型。LangChain是一个基于大语言模型的应用开发工具,支持Python和JavaScript两个开发版本。文章首先介绍了大语言模型的基本概念,以及LangChain的安装方法,包括使用pip命令进行基本安装以及安装OpenAI的API接口和开源大模型库HuggingFace Hub等依赖项。此外,文章还介绍了OpenAI的API,重点介绍了Chat Model和Text Model两类模型,以及调用这些模型的方法和参数设置。最后,文章通过示例代码演示了如何通过LangChain调用OpenAI的Text和Chat模型,展示了LangChain的便捷性和高效性。 总的来说,本文通过简洁清晰的语言和实际示例,帮助读者快速了解了LangChain系统的安装和应用开发方法,以及OpenAI的API和模型的使用。这对于想要快速了解LangChain系统安装和应用开发的读者来说是一份很有价值的文章。 文章还提到了LangChain支持的可绝不只有OpenAI模型,读者可以尝试HuggingFace开源社区中的其他模型,以及探索大语言模型的其他类别。此外,文章还留下了一些思考题,引导读者深入思考LangChain的核心价值和大语言模型的其他类别,为读者提供了进一步学习的动力。 总的来说,本文内容丰富,涵盖了LangChain系统的安装和应用开发方法,以及对OpenAI的API和模型的介绍,为读者提供了全面的技术指导和思考启发。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《LangChain 实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(35)

  • 最新
  • 精选
  • 黄佳
    置顶
    OpenAI,最近戏比较多,旧代码是0.28版本,任何以上的版本,都需要比较大的改动,记录如下。 旧代码 # import openai 新代码 from openai import OpenAI client = OpenAI() 旧代码 # response = openai.Completion.create( # model="text-davinci-003", # temperature=0.5, # max_tokens=100, # prompt="请给我的花店起个名") 新代码 response = client.completions.create( model="gpt-3.5-turbo-instruct", temperature=0.5, max_tokens=100, prompt="请给我的花店起个名") 旧代码 # response = openai.ChatCompletion.create( # model="gpt-4", # messages=[ # {"role": "system", "content": "You are a creative AI."}, # {"role": "user", "content": "请给我的花店起个名"}, # ], # temperature=0.8, # max_tokens=60 # ) # print(response['choices'][0]['message']['content']) 新代码 response = client.completions.create( model="gpt-4", messages=[ {"role": "system", "content": "You are a creative AI."}, {"role": "user", "content": "请给我的花店起个名"}, ], temperature=0.8, max_tokens=60 ) print(response.choices[0].message.content)
    2024-01-19归属地:瑞士
    2
    4
  • 吴曦
    搭建了基础的langchain问答机器人,怎样评估回答质量?有适合的指标吗?

    作者回复: 同学这个问题覆盖面比较大 1. 准确性:这是最直接的指标,即机器人的回答是否准确。你可以根据自己的业务场景为机器人准备一个包含问题和正确答案的测试集,然后比较机器人的回答与正确答案。 2. GitHub上面有很多评估大模型的指标、框架和数据集,也有很多人在做这个事情,我给出一个例子 https://github.com/openai/evals 3. 主观评价。毕竟是问答型机器人,有时候没有绝对的对错,主观感受很重要。

    2023-09-12归属地:上海
    9
  • 黄振宇
    最近在死磕langchain 终于有中文的详细课程啦

    作者回复: 嗯呐,课程终于来了。同学,在死磕过程的学习中你一定大有收获,有什么好的见解一定要多分享。一花独放不是春 百花齐放春满园!!!

    2023-09-11归属地:浙江
    8
  • 在路上
    1.我认为LangChain的核心价值在于功能模块化和模块链接化,这意味着AI应用开发被提炼成了很多个标准步骤,每个步骤有标准的参数和接口,便于灵活的替换和组合。这就像Java中Spring,封装了各种组件,并通过控制反转将它们组合在一起。 2.HuggingFace模型: import os # 设置网络代理 os.environ["http_proxy"] = "http://127.0.0.1:7890" os.environ["https_proxy"] = "http://127.0.0.1:7890" # 通过.env管理huggingfacehub_api_token from dotenv import load_dotenv load_dotenv() from langchain import HuggingFaceHub llm = HuggingFaceHub(repo_id="bigscience/bloom-1b7") resp = llm.predict("请给我的花店起个名") print(resp) #输出:,叫"花之恋"。"花之恋"

    作者回复: 兄弟的代理弄通啦?祝贺兄弟完成了HuggingFace模型调用! 是的,模块化,API的封装,这是LangChain很重要的一个特点。另外一个是Agent的自主性,在后面课程的学习过程中请仔细体会。

    2023-09-14归属地:广东
    4
    6
  • Crazy
    使用LangChain编程,是一个编程思维的转化,你定义工具,流程,让大模型的能力去提供逻辑判断,流程组建,我写的过程中感觉其对传统编程思维挑战最大。同时,调试的复杂度更高,更要语义化的编程,导致你要获取确定的答案或者拿到预期的结果挑战很大。希望课程后续能分享到系统化地讲解调试输出,目前个人调试方法是各种参数、提示词,工具描述一顿改,花费比之前更长的时间调试一个功能,能解决这个效率问题对之后的产品化或者应用至关重要。

    作者回复: 嗯嗯,一看同学就是已经有了LangChain实战的经验了。理解的是相当到位的。的确,这是编程思维范式的转换。 从调试的角度来说,也是一个范式转换。更多的思考聚焦于是如何确保模型的稳定性。 后续课程中,我们会讲到很多如何Debug代理的推理过程这个事儿。 把Chain的verbose=True,这是一个关键点。 另外,还有langchain.debug和langchain.verbose这两个参数,设为True! 最后,同学研究一些LangSmith。分享分享收获。

    2023-09-19归属地:北京
    5
  • dengyu
    windows中使用把openai API key保存在.env 文件中,读取文件,能否给出具体代码?

    作者回复: 第一步:pip install python-dotenv 第二步:创建一个名为.env的文件,并添加 OPENAI_API_KEY=your_api_key_here 第三步:代码 import os from dotenv import load_dotenv load_dotenv() openai_api_key = os.getenv("OPENAI_API_KEY") 同学你试试,也可以给出你完成后的代码。

    2023-09-11归属地:广东
    3
    5
  • neohope
    对于开发人员来说,LangChain是一个工具箱,可以方便的组合各类AI和非AI的能力,并通过抽象实现各相似组件的快速替代,有点儿类似于java生态下的spring。 对于AI来说,会有两个门槛,一个是AI学会使用和组合这些工具,二是可以自行创造新的工具并予以使用。一旦走到第二步,硅基生物的时代可能就到来了。

    作者回复: 同学说的太好了,激发想象力。与Spring的比较也很开脑洞。让我们拭目以待,看看AI智能代理能够走到那一步。我个人来说,希望将来老了走不动路的时候,能够有大批AI机器人懂我,理解我,照顾我,这样我就不需要依赖人类了。因为人类照顾老年人是很费心力的。我是不是把AI想象的太听话了呢。😍

    2023-09-12归属地:上海
    2
  • 抽象派
    请问Python用什么版本?

    作者回复: 3.8以上的任意版本。

    2023-09-11归属地:广东
    2
  • 阿斯蒂芬
    LangChain 作为LLM模型的应用开发框架,个人理解是致力于为模型落地提供技术层面的“一站式”解决方案。或者说是把大模型相关的技术集成和最佳流程实践,通过模块化、链式的方式,为应用开发者提供易用的脚手架。

    作者回复: 说的好。LangChain它提供了指导开发者如何最有效地使用这些大模型的“最佳实践”。任何事情,我们站在巨人的肩膀上,不必自己从0开始。

    2023-09-11归属地:广东
    2
    1
  • DOOM
    LangChain提供一个抽象层,这样后期更换其他语言模型的话,就不用修改已经写好的应用代码逻辑

    作者回复: 是的,抽象层允许开发者与一个统一的接口进行交互,而不必关心其背后的具体实现细节。这种设计方法可以将复杂性隐藏起来,让开发者能够更加集中地关注他们的主要任务。 LangChain提供抽象层使得整个系统具有更好的灵活性和可扩展性。这是它的核心价值其中的一个。 另外,它也有很多的工具、接口,以及大量的内置提升模板,让模型的输出更准确,更符合我们应用开发的具体需求,让大模型不仅仅是一个聊天工具

    2023-09-11归属地:四川
    1
收起评论
显示
设置
留言
35
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部