Project Icon

liboai

OpenAI API C++库,支持多种功能和异步调用

liboai是一个非官方的C++17库,类似于OpenAI的Python库。开发者可以通过简单的方法和类访问多个OpenAI端点,包含ChatGPT、音频、Azure、图像生成、模型、文本补全、编辑、嵌入、文件和微调等功能,并支持异步调用。库依赖于nlohmann-json和cURL,推荐通过vcpkg安装这些依赖。文档提供了详细的使用说明和代码示例,欢迎通过Pull Request贡献代码,共同推动AI进步。

项目介绍

liboai 是一个简单的、非官方的 C++17 库,专为 OpenAI API 设计。它提供了一套简化的方法和类,帮助开发者轻松访问 OpenAI 的端点。这个库可以视作 OpenAI 的 Python 库 openai 的一种精神移植,因为它们的结构非常类似,只有少数例外。

功能特点

  • ChatGPT:支持与 ChatGPT 的互动。
  • 音频处理:处理与音频相关的任务。
  • Azure:集成了 Azure 的支持。
  • 函数调用:使用 OpenAI 的 API 创建和调用函数。
  • 图像处理(DALL·E):生成和处理图像。
  • 模型管理:访问和管理各种 AI 模型。
  • 文本完成功能:使用模型进行文本补全。
  • 文本编辑功能:对文本进行编辑和调整。
  • 嵌入功能:生成并处理文本嵌入。
  • 文件管理:处理和管理文件。
  • 微调功能:对模型进行细致调整以适应特定任务。
  • 内容审核:提供对内容的审核功能。
  • 异步支持:支持异步任务执行。

使用方法

以下展示了如何在 Python 和 C++ 中使用 liboai 或相应的 Python 库生成 DALL-E 图像的示例。通过列出的代码片段可以看到,liboai 与 Python 版本在使用风格上的相似之处。

在 Python 中生成 DALL-E 图像

import openai
import os

openai.api_key = os.getenv("OPENAI_API_KEY")
response = openai.Image.create(
    prompt="A snake in the grass!",
    n=1,
    size="256x256"
)
print(response["data"][0]["url"])

在 C++ 中生成 DALL-E 图像

#include "liboai.h"

using namespace liboai;

int main() {
  OpenAI oai;
  oai.auth.SetKeyEnv("OPENAI_API_KEY");
	
  Response res = oai.Image->create(
    "A snake in the grass!",
    1,
    "256x256"
  );

  std::cout << res["data"][0]["url"] << std::endl;
}

运行上述代码会输出生成的图像 URL,结果可能类似于以下演示图像。

示例图像

请注意,上述 C++ 示例是一个最小化例子,未确保异常安全。欲获取更多详细且异常安全的代码示例,请查阅官方文档。

依赖

为了让 liboai 有效运行,它依赖于以下两个主要组件:

  • nlohmann-json:用于处理 JSON 数据。
  • cURL:用于网络请求。

如果使用提供的解决方案构建此库,建议通过 vcpkg 安装这些依赖。

文档

欲了解详细文档和更多代码示例,请参阅库的官方文档。

贡献指南

人工智能是一个令人兴奋且变化迅速的领域。如果您希望在此领域发挥作用,把 AI 的力量交到普通用户手中,欢迎通过提交拉取请求来贡献新代码和功能。如果您在使用库过程中遇到问题,或想要建议新功能,可以直接联系开发者或者在 GitHub 上提出问题

请注意,所有的拉取请求应定位于 dev 分支,经测试后再合并至 main 分支。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号