为什么用Langchain?

langchain

Langchain是一个LLM的一个上层框架,其提供了一系列的工具接口,打破了token限制,其能够为模型提供新知识检索更好的解决方案,其功能大致分为以下几点:
  • 解决原始api请求没有的记忆的缺陷

eg1:

print(get_openai_response(client, '牛顿是谁?'))
#牛顿是...
print(get_openai_response(client, '我刚刚问了什么问题'))
#抱歉,我无法确定您刚刚问了什么问题,请提供更多的上下文信息
  • 打破提示词上下文限制
    大模型上下文的从窗口是有限的,如果我们想喂给大模型某一方面专业性领域的知识,如500页的睡眠疾病诊断论文,所包含的文本内容大大超过了窗口限制,一旦超过了窗口,文本就被截断了,AI智只能看到和处理窗口内的文本,这就限制了我们能用的提示喂给AI内容的体量。

  • 传统的大模型很不擅长做计算

eg2:

print(get_openai_response(client, "33x5621等于多少?"))
#33x5621=185973

这个例子中AI错误的计算了我们想要的答案,33x5621正确答案是185493,但模型认为185后面接973的概率更高,它只是推测下一个最可能出现的token。

总结: 对于AI没有记忆,我们可以用一个列表将用户的对话储存起来,然后下一次提问时一块发给AI;对于AI能接收外部的知识长度有限,可以将文档内容转换为向量储存到向量数据库,然后在用户提问后,利用相似性搜索,把和问题相关的段落提取出来,然后一并发给AI,如此,提供给AI的是段落而不是整个文档了;AI不擅长做计算,可以让ai生成执行数学计算的代码,然后输出代码执行结果,总之我们利用自己的代码结合一些额外的提示词都能解决问题,但是其工作量可见一斑,每次都要重复差不多的提示词和步骤。。。

这时就需要我们的Langchain来解决这些麻烦,其主张是强大的AI应用不是简简单单的调用大模型API的,还能感知上下文,连接web数据,且能够借助外部工具与环境相互动,来生成更好的回答。 因此Langchain提供了一系列组件和链简化了开发过程。

posted @ 2025-09-02 23:57  AttaSayyid  阅读(6)  评论(0)    收藏  举报