Langtorch🔥: 基于 Java, 模块化的 AI/LLM 开发框架
项目地址: https://github.com/Knowly-ai/langtorch
在 ChatGPT 出来的几个月内,我完全被 ChatGPT 的效果震惊了。虽然在大学里也做过一段时间深度学习的研究,但当时模型的效果远不如现在来得这么惊艳。在那之后的我开始用 Python streamlit 搭建各种有意思的工具,比如和 PDF 对话,让大语言模型模仿著名风投 a16z, 做了个 slack 内置的 ai bot 等。后来发现了 langchain 和 gpt-index(现在改名为 llama-index),它们的出现让开发 ai 工具更方便。
后来了解到 gpt3 的训练成本超过 4 百万美金,以及后来出现的效果更好更大的 gpt4 让我认识到未来大语言模型的提供商应该是财力雄厚的大公司比如 Google, Microsoft 的天下。如果未来大语言模型都是通过 http 调用,那是不是暗示 python 不再是开发 AI 应用的 go-to language?至少从生产环境来说是这样呢?
同时在 Twitter 上看到有 startup 抱怨他们到使用 langchain 遇到了并发问题和 python 一些老生常谈的通病,好像在证明这一点。github 上搜了一圈后貌似没看到有人用 Java 做除了 open ai client 的开发,我就想不如写一个 Java 版的吧!于是就开始造轮子的快乐的日子。
经过 9 周的开发,现在 langtorch 基本完成了“可复用”或者叫“模块化”的搭建,虽然我知道还不够完善。
我们希望通过 Langtorch 能让 ai/llm 应用的搭建像搭乐高一样;于是便将 AI/LLM 应用中的几个 concept 抽取出来变成不同的组件。比如 LLM Service Provider(例如 openai, minimax 等), 向量数据库(pinecone, milvus 等), 数据加载器(比如读取 pdf, excel, 或者是 mysql 数据库), 提示词模版,数据预处理,Cache 等...
同时最近在实现组件的扩展,使得让组件生命周期定制化更简单。比如通过扩展在每次 OpenAI http 请求后都保存下来请求的 body 和返回的 response, 这样更方便未来的提示词的调整。
作为一个开源项目,我们非常非常希望获得来自开发者的使用建议!!! 当然如果有愿意有想贡献代码的小伙伴,请加入 discord 我们一起讨论。
如果使用过程中有任何疑问,欢迎👏大家来提 Issue 和 PR 。 同时也欢迎大家加入Discord 社区或者微信群交流:
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.