01|LangChain系统安装和快速入门
什么是大语言模型
- 深入了解
- 翻译
- 解释
- 总结
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归属地:瑞士24
- 吴曦搭建了基础的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归属地:广东46 - Crazy使用LangChain编程,是一个编程思维的转化,你定义工具,流程,让大模型的能力去提供逻辑判断,流程组建,我写的过程中感觉其对传统编程思维挑战最大。同时,调试的复杂度更高,更要语义化的编程,导致你要获取确定的答案或者拿到预期的结果挑战很大。希望课程后续能分享到系统化地讲解调试输出,目前个人调试方法是各种参数、提示词,工具描述一顿改,花费比之前更长的时间调试一个功能,能解决这个效率问题对之后的产品化或者应用至关重要。
作者回复: 嗯嗯,一看同学就是已经有了LangChain实战的经验了。理解的是相当到位的。的确,这是编程思维范式的转换。 从调试的角度来说,也是一个范式转换。更多的思考聚焦于是如何确保模型的稳定性。 后续课程中,我们会讲到很多如何Debug代理的推理过程这个事儿。 把Chain的verbose=True,这是一个关键点。 另外,还有langchain.debug和langchain.verbose这两个参数,设为True! 最后,同学研究一些LangSmith。分享分享收获。
2023-09-19归属地:北京5 - dengyuwindows中使用把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归属地:广东35 - 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归属地:广东21 - DOOMLangChain提供一个抽象层,这样后期更换其他语言模型的话,就不用修改已经写好的应用代码逻辑
作者回复: 是的,抽象层允许开发者与一个统一的接口进行交互,而不必关心其背后的具体实现细节。这种设计方法可以将复杂性隐藏起来,让开发者能够更加集中地关注他们的主要任务。 LangChain提供抽象层使得整个系统具有更好的灵活性和可扩展性。这是它的核心价值其中的一个。 另外,它也有很多的工具、接口,以及大量的内置提升模板,让模型的输出更准确,更符合我们应用开发的具体需求,让大模型不仅仅是一个聊天工具
2023-09-11归属地:四川1