LLM 调用为什么不能像 requests 一样简单?上下文管理就不能自动搞定吗?

2 天前
 pmpmp

兄弟们,我今天在 github 上发了一个库 —— chak, 极简风格连接全球主流模型,重点是 —— 可以自动管理上下文,确实方便

项目在这里:https://github.com/zhixiangxue/chak-ai

说说我为啥要写这个库哈~

我自己的几个痛点:

  1. OpenAI 的 API 很方便,但上下文得自己管
    每次对话一长,自己算 token 、截断历史、写策略...重复劳动,烦。

  2. 虽然都支持 OpenAI API,但各家文档翻起来也烦
    想用 DeepSeek?翻文档找 base_url 和 model 名。想用百炼?火山?腾讯云?再翻一遍文档。切换模型?又得改配置、查参数。多数时候我只是想快速验证个想法,不想在文档里跳来跳去,烦。

  3. 虽然有 one-api 、OpenRouter 这种聚合方案
    但要自己部署服务、配置路由、管理密钥...我就想写个脚本测试模型,不想搞运维,烦。

  4. 想要个本地网关?自己搭又麻烦
    有时候就想在本地起个服务,快速测试不同厂商的模型,最好还有个 UI 能直接对话。但现有方案要么配置复杂,要么功能太重,烦。

所以我撸了个库,叫 chak 。

我的目标特别简单:能不能搞一个像 requests 一样简单的 LLM 客户端?

看代码就懂了:

pip install chakpy[all]

import chak

# 就这么简单,像 requests.get()一样直观
conv = chak.Conversation("deepseek/deepseek-chat", api_key="your_key")
print(conv.send("介绍一下 Python 装饰器").content)

# 继续聊,一直聊,上下文自动帮你管
print(conv.send("那装饰器用类怎么实现?").content)

# 换个模型?改一行就行
conv2 = chak.Conversation("openai/gpt-4o-mini", api_key="your_key")

它不是要取代 OpenAI SDK 或 one-api ,而是:

上下文管理?内置 FIFO 、总结、LRU 三种策略,自动触发。
多家供应商?provider/model统一格式,支持 18+家。
复杂配置?不存在的,api_key 一给就能用。
本地网关?chak.serve()一行代码,内置对话界面,1 分钟就能和不同厂商模型对话。

如果你也:

可以试试。纯粹是解决自己的痛点,希望能帮到有同样困扰的人

觉得有用?给个 Star 吧 ⭐ → https://github.com/zhixiangxue/chak-ai

欢迎交流,有兴趣的兄弟给我留言哈~

1284 次点击
所在节点    分享创造
7 条回复
raycool
2 天前
不错,最近有对接大模型的需求,先 star
ITisCool
1 天前
可以支持 tools call 、MCP 么?支持的话更有实用价值
BeautifulSoap
1 天前
看了下似乎根本不支持 function call 啊,就是个单纯的包装了下对话上下文管理的 warpper 吗
这样应用场景似乎不大啊
pmpmp
1 天前
@ITisCool 还没发呢哈,估计就这几天就支持了,有什么需求欢迎随时给我 issue ,哈哈哈,感谢关注🙏
pmpmp
1 天前
@BeautifulSoap 还没发呢哈,估计就这几天就支持了,有什么需求欢迎随时给我 issue ,哈哈哈,感谢关注🙏
pmpmp
1 天前
function call 也好、MCP 也好,也是个话题,而且是个很大的话题,demo 貌似都能 work ,一旦想认真用,就一堆问题,这也是让我很烦的点,正在 coding 中,希望能让 fc 或者 mcp 也做到 “不用管”
ITisCool
1 天前
@pmpmp #6 是的,做得太多又变成了一个 Chatbot Client 了。一般类似你这个出发点的需求我都是打开 Cherry Studio 来测模型的。但是最近遇到一个本地部署的 LLM ,我需要测试其做 agent 的能力,对方给接口配置了 SSL 自签名证书😅,搞得 Cherry Studio 请求验证 SSL 失败没法测,我只能用 OpenAI SDK (传入 httpx.Client(verify=False)) 来发请求测试。所以你这个库要是支持 function call 、MCP 就刚好符合我这种测试需求了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1171813

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX