利用llm api 长文本阅读代码和学习

admin 2024年4月19日21:41:55评论3 views字数 1317阅读4分23秒阅读模式

之前写了一个开源的长文本的代码阅读 ,其实很流程很简单的,如果使用langchain是可以很快解决这个问题的。我目前也是用自己写的python langchain来实现阅读代码,舒服的一批!地址我再发一下

https://github.com/xsser/codechai

BUG

但是这个脚本有一个bug,是我认知上错误导致的,我以为llm的token就是单个字母,导致我在截断最大文本的时候搞错了。

其实:200K*表示大约150K个单词或680K个Unicode字符。

利用llm api 长文本阅读代码和学习

而且,每个品牌实现的方式不一样,anthropic和openai实现token的代码逻辑 也是不一样的。

以下是一个利用官方sdk来实现一个数token的方法,只要把loade后的document转成string丢进去就行了。

from anthropic import Clientdef count_tokens(text):  client = Client(api_key=anthropic_api_key)  tokens = client.count_tokens(text)  return tokens

这也是我后期要修复的一个问题

其实我一直在玩langchain和llamaindex,之前用的llamaindex,但是langchain loader更多,我就换了阵营。

RAG杂谈

我想说的是目前市面上的RAG技术都是有问题的,总归问答出来的问题都是怪怪的不舒服。什么反省、状态机、qa拆分、使用元数据注解来结构化文档巴拉巴拉,你能听到的RAG,我都接触了下,结果就是毛用没有,至少对我一个程序员的需求来说,是这样的,因为我不需要大量的文档阅读,我更喜欢自动化的去阅读代码,从代码里告诉我架构如何,有什么精彩的设计的地方,或者是让llm 帮我自动化根据某个框架编写代码,我也不需要什么IDE预测我的编写代码。

之前很火的破解copolit那个帖子,你想想它为什么设置缓存和边界?本质就是一个RAG技术啊!用过copolit的人,你敢说它100%预测正确?我都用过!有的时候预测正确,而且代码质量不高。所以这个玩意儿就是要亲自去实践才知道,不要老看别人写了一个很很牛逼的帖子 就觉得方向对。

langchain生态

langchain其实很强,强到可怕啊,国内的应用层生态和国外的langchain比,那简直。。。langchain已经出了smith、graph、flow,flow已经很方便的可以让人构建一个llm应用了。smith可以debug, graph做状态机RAG。

国内因为商业需要 都在卷rag,我觉得llm发展速度很快就可以实现很大的上下文了,这个对rag来说是降维打击,有量子传输门还要啥自行车。

目前的gemini pro 1.5和claude haiku已经可以实现阅读一个中等项目的代码了。

现在的我已经实现基于langflow的 github代码阅读,只要加以扩展就可以实现自动化的订阅我star的项目解读 并且发送到我手机上进行问答,未来编程和学习就会很方便,可以这么说,未来是谁拥有足够的数据了,构建llm很简单。利用llm api 长文本阅读代码和学习

原文始发于微信公众号(xsser的博客):利用llm api 长文本阅读代码和学习

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月19日21:41:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   利用llm api 长文本阅读代码和学习http://cn-sec.com/archives/2673970.html

发表评论

匿名网友 填写信息