博客 / 詳情

返回

LLM調用為什麼不能像requests一樣簡單?上下文管理就不能自動搞定嗎?

兄弟們,我今天在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客户端?

  • requests幾行代碼就能發HTTP請求
  • chak幾行代碼就能和全球任意LLM對話
  • 不要花裏胡哨的東西,開箱即用,上下文自動管理
  • 10分鐘搞不定都算我失敗了

看代碼就懂了:

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,而是:

  • OpenAI SDK: 功能強大,但上下文、重試、格式轉換都得自己寫
  • one-api: 功能齊全,但得自己部署服務、配置路由、管理密鑰
  • chak: 開箱即用,import就能用,上下文自動管理,配置零負擔

上下文管理?內置FIFO、總結、LRU三種策略,自動觸發。
多家供應商?provider/model統一格式,支持18+家。
複雜配置?不存在的,api_key一給就能用。
本地網關?chak.serve()一行代碼,內置對話界面,1分鐘就能和不同廠商模型對話。

如果你也:

  • 煩手動管理上下文
  • 煩翻各家文檔找配置
  • 煩部署和配置複雜的網關服務
  • 想快速搭個本地網關測試模型

可以試試。純粹是解決自己的痛點,希望能幫到有同樣困擾的人。

覺得有用?給個Star吧 ⭐ → https://github.com/zhixiangxue/chak-ai

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.