使用 C++23 模組建構的現代 LLM 客戶端
| English - 简体中文 - 繁體中文 |
|---|
| 文件導覽 - 繁體中文文件 - English Docs - 简体中文文档 |
llmapi 提供型別化的 Client<Provider> API,涵蓋聊天、串流輸出、embeddings、工具呼叫與對話持久化。預設別名 Config 對應 OpenAI 風格設定,常見情況下不需要顯式寫出 openai::OpenAI(...)。
- C++23 模組:
import mcpplibs.llmapi - 強型別訊息、工具與回應結構
- 同步、非同步、串流聊天介面
- OpenAI Provider 支援 embeddings
- 支援儲存 / 載入對話歷史
- 可透過
baseUrl存取 OpenAI 相容端點
import mcpplibs.llmapi;
import std;
int main() {
using namespace mcpplibs::llmapi;
auto apiKey = std::getenv("OPENAI_API_KEY");
if (!apiKey) {
std::cerr << "OPENAI_API_KEY not set\n";
return 1;
}
auto client = Client(Config{
.apiKey = apiKey,
.model = "gpt-4o-mini",
});
client.system("You are a concise assistant.");
auto resp = client.chat("用兩句話解釋 C++23 模組的價值。");
std::cout << resp.text() << '\n';
return 0;
}Config:openai::Config的匯出別名,預設走 OpenAI 風格openai::OpenAI:OpenAI 聊天、串流、工具呼叫、embeddingsAnthropicConfig/anthropic::Anthropic:Anthropic 聊天與串流
相容端點範例:
auto client = Client(Config{
.apiKey = std::getenv("DEEPSEEK_API_KEY"),
.baseUrl = std::string(URL::DeepSeek),
.model = "deepseek-chat",
});xmake
xmake run hello_mcpp
xmake run basic
xmake run chatadd_repositories("mcpplibs-index https://github.com/mcpplibs/mcpplibs-index.git")
add_requires("llmapi 0.1.0")
target("demo")
set_kind("binary")
set_languages("c++23")
set_policy("build.c++.modules", true)
add_files("src/*.cpp")
add_packages("llmapi")更多內容見 docs/zh-hant/getting-started.md、docs/zh-hant/providers.md 與 docs/zh-hant/README.md。
Apache-2.0,詳見 LICENSE