Langtorch🔥: 基于 Java , 模块化的 AI/LLM 开发框架

查看 134|回复 2
作者:liweizhismd   
Langtorch🔥: 基于 Java, 模块化的 AI/LLM 开发框架
项目地址: https://github.com/Knowly-ai/langtorch
最近的更新
差不多两个月前,我发布了在 V2EX 的第一个帖子( /t/936009), 当时刚开始做 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 的介绍
我们希望通过 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 社区或者微信群交流:

llm, langtorch, Java, Python

ospider   
你确定 java 能融合进 llm 的生态?
liweizhismd
OP
  
@ospider 这是一个好问题。我觉得如果是从事学术研究,我觉得 python 的地位不可撼动。但是如果是部署的话,java 在大语言模型的时代未尝不可呢? Tianqi 大神有一个 mlc-llm 的项目[https://github.com/mlc-ai/mlc-llm]能够让模型在任何环境调用。同时 netflix 从 python 转回 java 来做实时的[inference]( https://aws.amazon.com/blogs/opensource/how-netflix-uses-deep-java-library-djl-for-distributed-deep-learning-inference-in-real-time/)
所以说不定呢?
您需要登录后才可以回帖 登录 | 立即注册

返回顶部