LangChain实战课三天做的事 | 豆包MarsCode AI刷题

218 阅读3分钟

AI-青训营 X 豆包MarsCode 技术训练营

LangChain实战课

与LangChain的认识不是主动的,第一次听到还是在一门专业选修课(可视化)的群里,老师建议我们去了解现在的流行的AI框架,但很遗憾,一直也只是停留在知道这个名字的地步,非常感谢字节青训营开设的ai方向,让我能够有更深入的了解和认识。此外,我对机器学习和深度学习都是入门的程度,尽力追赶吧,争取有所收获!

image.png

在这篇笔记下我想分享一下最近上的小册上的几节遇到的问题以及我的解决方案,有些还没有解决。。。

00|01

使用MarsCode,很简单啊,只要点运行就好了,我学了什么呢,看完了一些概念,运行了出现了结果,就算完成了学习,有点落差感,惰性又上来了。草草结束。。

02|03

昨天在完成可视化的作业里,体会了使用调用大模型的api参与实验,实验使用的智谱的SDK,在完成实验后我又想试试在MarCode试试会不会更快,但是还没出结果就已经使用完了设定的token包,好吧为了以后课程的正常进行只能根据readme文件自己手动实现调用api了。

image.png

按照readme创建了两个推理接入点后在Marcode完成对应的配置后就能正常使用了(但是中午的时候各位老师们将默认的token提高到了50万,所以以后在正常使用的情况下上不需要再自己配了)

image.png

04|05

今天遇到的问题主要是因为一些版本更新导致的不匹配的问题

  1. 使用错误错误

    记住这句话,哈哈哈

image.png

` UserWarning: Importing PromptTemplate from langchain root module is no longer supported. Please use langchain_core.prompts.PromptTemplate instead.`

根据错误信息修改即可

   from langchain_core.prompts import PromptTemplate

2. 使用错误

`LangChainDeprecationWarning: The method `BaseChatModel.__call__` was deprecated in langchain-core 0.1.7 and will be removed in 1.0. Use invoke instead.`

这个大家根据错误信息修改使用方法就行,因为我已经改过后了,应该是有两个地方要修改

result = model(prompt.format(flower_type="野玫瑰", occasion="爱情"))

-->

  result = model.invoke(prompt.format(flower_type="野玫瑰", occasion="爱情"))

3. 类型错误

屏幕截图 2024-11-06 194849.png

这个根据向豆包提问,简单来说是由于由于 protobuf 包版本与项目中生成的 .proto 文件之间的不兼容造成的。它也提供了一些解决方法

image.png

因为我找不到.proto 文件在哪,也不确定降级 protobuf 包会带来什么不好的影响,所以我采用设置 PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python的方法

os.environ['PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION'] = 'python'

image.png

这个方法会使得处理速度变慢,但是在现在的情况却也是最符合我情况的解决方案,大家解决不了这个问题也可以暂时的将这个作为一个临时方案。

结尾

写到这,三天的练习就结束了,今天使用Marcode的时候发现它还能对选择的代码区域进行解释并增加注释,这对我的学习是帮助很大的,因为之前给出的代码注释太过简短了,很多代码我只是了解它的作用以及实现的效果就结束了,通过使用这个功能我更明白了其中的细节实现!!!此外每节课程后面还有一些拓展阅读也推荐大家一起看,虽然我之前都没看过,以后会试着进行去阅读的。

到这就是我三天的学习过程,希望大家有问题可以互相讨论,争取能够有所收获。