AI创想

标题: LangChain入门 [打印本页]

作者: a617735965    时间: 9 小时前
标题: LangChain入门
作者:CSDN博客
LangChain入门 | 豆包MarsCode AI 刷题

本篇文章为《LangChain 实战课》前三节课的总结性文章,主要内容包含内容梳理与总结,学习记录,以及一些思考。
01开篇词|带你亲证AI应用开发的“奇点”时刻

内容

这篇文章介绍了Lang Chain是什么,特别地,提出了LangChain的六大组件,模型、提示模板、数据检索、记忆、链、代理。文章中展示了LangChain的两个简单应用:(1)使用LangChain写情人节玫瑰宣传标语(2)使用LangChain读图,为图片生成文案。
遇到的问题

这篇文章的代码都要使用OPENAI的API KEY,由于我没有一个正规的OPENAI 账号,无法申请API KEY,因此这些代码我都没有成功运行。为了初步尝试大模型API的调用, 我根据项目中README.md文件的指导,去注册了豆包大模型的账户,并且申请了API KEY——api-key-20241106232444,
(, 下载次数: 0)


并且运行了demo文件,代码如下:
  1. from volcenginesdkarkruntime import Ark
  2. import os
  3. client = Ark(
  4.     base_url = os.environ["OPENAI_BASE_URL"],
  5.     api_key = os.environ["OPENAI_API_KEY"],)# Non-streaming:print("----- standard request -----")
  6. completion = client.chat.completions.create(
  7.     model=os.environ["LLM_MODELEND"],
  8.     messages =[{"role":"system","content":"你是一个人工智能专家"},{"role":"user","content":"使用100个字讲一讲Transformer?"},],)print(completion.choices[0].message.content)# Streaming:print("----- streaming request -----")
  9. stream = client.chat.completions.create(
  10.     model=os.environ["LLM_MODELEND"],
  11.     messages =[{"role":"system","content":"人工智能专家"},{"role":"user","content":"使用50个字讲一讲什么是聚类"},],
  12.     stream=True)# 遍历流中的每个分块for chunk in stream:# 如果分块没有选择项,则跳过当前循环迭代ifnot chunk.choices:continue# 打印分块的第一个选择项的增量内容,并在末尾添加空字符以避免换行print(chunk.choices[0].delta.content, end="")# 循环结束后,打印一个空行print()
复制代码
运行结果:
(, 下载次数: 0)


02LangChain系统安装和快速入门

内容

这篇文章介绍了两种模型,Chat ModelText Model,并且给出了调用两个模型的两个demo,通过demo,介绍了两种模型在request和response时的一些常用参数。最后,文中给出了使用LangChian调用两种模型的实例。
遇到的问题

(1)LLMs、Text Model和Chat Model三者的关系

文章并没有介绍着三者的关系,在查阅资料后,我明白了:
(2)使用已经被OPEN AI被淘汰的API

在这一次的demo中,我没有注意到注释的提醒,这份代码只做示意,无法运行,因此卡在这里好几天,一直想把代码跑通。
(, 下载次数: 0)


这给我提了一个打醒,要关注开源代码顶部的一些注释,有时候代码没有达到预期效果,可能就是没有注意这些注释的提示。
03用LangChain快速构建基于“易速鲜花”本地知识库的智能问答系统

内容

这篇文章详细介绍了构建一个基于本地知识和大模型的智能问答系统的步骤。文中给出了两张概括性图片,这里引用一下:
(, 下载次数: 0)


对于构建一般智能问答系统的具体步骤,我自己进行一个简单的总结:
问题与优化:

代码能否进行优化,使得对数据分片进行持久化,第一次运行后,后续运行不需要进行文本分片和储存,而可以直接从数据库中检索(Qdrant数据库的持久化问题),打算等学完所有课程后进行进一步探索。
知识积累

1.使用命令行查看操作系统类型

  1. uname -a
复制代码
  1. systeminfo
复制代码
2.操作Linux系统上的环境变量

  1. echo $变量名
复制代码
  1. export 变量名="变量值"
复制代码
在 ~/.bashrc 文件中添加以下行:
  1. exportMY_VAR="some_value"
复制代码
然后,运行 source ~/.bashrc 来使更改生效。
资源整理