Показать HN: Современный C++20 AI SDK (GPT‑4o, Claude 3.5, вызов инструментов) Привет всем,
Я работаю над новыми функциями для собственного клиента ClickHouse и хотел такой же эргономики «просто вызовите модель», как сейчас в JavaScript и Python. Для современного C++ этого не было, поэтому я написал свой.
ai‑sdk‑cpp (Apache‑2.0) предоставляет вам:
– Унифицированные вызовы OpenAI (GPT‑4o) и Anthropic (Claude 3.5) с единым API C++20. – Потоковая передача, многопоточный чат, обработка ошибок — все std::optional/std::variant, без макросов. – Вызов инструментов (вызов функций), чтобы модель могла обращаться к реальным API; синхронный или асинхронный, работает параллельно.
Хитрость: C++ все еще не хватает настоящего отражения, поэтому отображение простых функций → схем JSON не так автоматично, как, скажем, декораторы TypeScript. Я бы хотел свежий взгляд на эту часть. Попробуйте примеры и скажите, где они кажутся неуклюжими. Это вдохновлено AI SDK Vercel [1] и litellm [2].
Репозиторий доступен здесь: https://github.com/ClickHouse/ai-sdk-cpp , обратная связь приветствуется!
[1] https://github.com/vercel/ai [2] https://github.com/BerriAI/litellm
Очень хорошо! Я могу получить вдохновение для своего собственного клиента Qt C++ LLM[1]. Планируете ли вы добавить потоковый парсинг Markdown? Это сложная задача, которую было очень весело реализовать для Vox -> она позволяет парсить блоки кода и другие подобные расширенные/пользовательские блоки (я создал пользовательский блок 'tool') без повторной отрисовки. Моя реализация в настоящее время привязана к Qt C++, но я могу сделать ее более общей и открыть исходный код.
Source: news.ycombinator.com