LangChain入门以及系统在本地环境的安装 | 豆包MarsCode AI刷题

303 阅读4分钟

1.如何注册自己的API

在掘金小册中,介绍的是使用OpenAI官方的API,但是关于OpenAI中API的注册以及使用过程中基本都需要科学上网(否则很容易超时),所以推荐在火山引擎中注册自己的账号使用豆包的API(与课程代码中的项目实现相同,便于学习),具体流程可以参见AI练中学README.md中相应的教程。

2.本地操作系统环境的搭建

在课程配套的环境的教学中,相关的环境变量以及模块都是已经内置好的,所以不管我们是否对模型调用的相关API进行配置,都可以直接在配套的环境里直接Run代码,但是如果尝试直接将环境中的代码迁移到本地环境运行,就会出现一系列的问题(例如:找不到环境变量,404,401等);

这些问题的出现不外乎有以下两种:

  1. 本地环境中没有配置代码中所用到的环境变量,导致os无法解析环境变量。
  2. 在代码中为模型所用到的API,MODEL等变量赋值的时候赋值错误,导致无法成功使用API/定向到正确的model。

对于以上提到的两种问题,解决方式分别如下:

  • Question 1:
    • 在自己的计算机中配置代码中调用模型所需要的环境变量,最基本的要求是包含以下三个环境变量
    •   OPENAI_API_KEY
        OPENAI_BASE_URL
        LLM_MODELEND
      
    • 以上三个环境变量是在01课程基础环境的搭建中必须的基本环境变量,如果有不会配置环境变量的同学也可以去自行搜索环境变量配置的教程并配置,配置完成后效果图如下: image.png
    • 需要注意的是,MODELEND的值如果使用豆包api一般是ep开头,API_KEY一般是cdea开头,在配置的时候一定要注意配置的正确性,如果不小心弄错了配置就会导致一直出现404错误(印象深刻,亲身体验过的坑QAQ)
    • 关于上图中出现的EMBEDDING_MODELEND环境变量,是在02-QA文档问答系统中需要的向量模型,这个需要去火山引擎再创建一个新的在线推理接入点,这里需要注意的是创建的这个接入点模型选择需要选择Doubao-embedding或者Doubao-embedding-large的向量模型(如下图所示),如果选择了其他的模型,就算配置了环境变量也会因为模型不匹配而导致无法正常运行。image.png
    • 配置好这些环境变量之后,相信至少是day01和day02的课程已经可以正常run了(在不缺少库的情况下,如果缺少库请自行使用pip进行安装即可)
  • Question 2
    • 这个问题的解决比较简单,但是由于在每份代码中都需要重新设定,所以如果是在本地Run代码还是更推荐使用配置系统变量的方式,
    • 具体解决方案如下:image.png如上图所示,这种方式需要我们每次都使用os模块在我们的运行环境中声明临时的变量,也就是说,我们在方式1中配置的环境变量其实在这里是一样的,不过区别在于这里是用Python程序的方式创建临时变量,这种方式如果出错,一般是由于=后面的API_KEY出现了问题,检查一下输入是否有误,修改为正确的之后就可以解决这个问题。

3.思考题

  1. 从今天的两个例子看起来,使用LangChain并不比直接调用OpenAI API来得省事?而且也仍然需要OpenAI API才能调用GPT家族模型。那么LangChain的核心价值在哪里?至少从这两个示例中没看出来。针对这个问题,你仔细思考思考。
个人认为LangChain的核心价值在于它可以调用多种API模型,并对其的输入输出进行处理和整合,以至于我们除了OpenAI之外,如果要使用其他模型(例如豆包),不需要来回切换,只需要调用其对应的SDK即可,集成能力很强
目前LangChain的发展十分迅速,社区非常活跃,这也说明了它的潜力很大,学习价值也很大。