Project Icon

easyllm

开源工具库助力简化大语言模型应用开发

EasyLLM是一个开源项目,为开发者提供简化大语言模型操作的工具和方法。该项目实现了兼容OpenAI API的客户端,支持HuggingFace、Amazon SageMaker和Amazon Bedrock等平台的模型。EasyLLM允许开发者轻松切换不同语言模型,实现聊天、文本补全和嵌入等功能。此外,项目还包含进化指令生成和提示词工具等辅助模块,有效简化了大语言模型的应用开发流程。

EasyLLM -

EasyLLM是一个开源项目,为开源和闭源的大型语言模型(LLMs)提供有用的工具和方法。立即开始使用或查看文档

EasyLLM实现了与OpenAI的Completion API兼容的客户端。这意味着你可以通过更改一行代码,轻松地将openai.ChatCompletionopenai.Completionopenai.Embedding替换为huggingface.ChatCompletionhuggingface.Completionhuggingface.Embedding

支持的客户端

  • huggingface - HuggingFace模型
    • huggingface.ChatCompletion - 与LLMs聊天
    • huggingface.Completion - 使用LLMs进行文本补全
    • huggingface.Embedding - 使用LLMs创建嵌入
  • sagemaker - 部署在Amazon SageMaker上的开放LLMs
    • sagemaker.ChatCompletion - 与LLMs聊天
    • sagemaker.Completion - 使用LLMs进行文本补全
    • sagemaker.Embedding - 使用LLMs创建嵌入
  • bedrock - Amazon Bedrock LLMs

查看示例以开始使用。

🚀 快速开始

通过pip安装EasyLLM:

pip install easyllm

然后导入并开始使用客户端:


from easyllm.clients import huggingface

# 用于构建llama2提示的辅助函数
huggingface.prompt_builder = "llama2"

response = huggingface.ChatCompletion.create(
    model="meta-llama/Llama-2-70b-chat-hf",
    messages=[
        {"role": "system", "content": "\n你是一个像海盗一样说话的有帮助的助手。啊哈!"},
        {"role": "user", "content": "太阳是什么?"},
    ],
    temperature=0.9,
    top_p=0.6,
    max_tokens=256,
)

print(response)

结果将如下所示:

{
  "id": "hf-lVC2iTMkFJ",
  "object": "chat.completion",
  "created": 1690661144,
  "model": "meta-llama/Llama-2-70b-chat-hf",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": " 啊哈,太阳是天空中的一个大火球,我的好伙计!它是我们美丽星球的光和热的来源,是一股强大的力量,明白吗?没有太阳,我们就会在黑暗中航行,迷失而寒冷,所以让我们为太阳欢呼一声"呀呼!",我的好伙计们!啊哈!"
      },
      "finish_reason": null
    }
  ],
  "usage": {
    "prompt_tokens": 111,
    "completion_tokens": 299,
    "total_tokens": 410
  }
}

查看其他示例:

更多详细用法和示例,请参阅文档

💪🏻 从OpenAI迁移到HuggingFace

从OpenAI迁移到HuggingFace很简单。只需更改导入语句和你想使用的客户端,以及可选的提示构建器。

- import openai
+ from easyllm.clients import huggingface
+ huggingface.prompt_builder = "llama2"


- response = openai.ChatCompletion.create(
+ response = huggingface.ChatCompletion.create(
-    model="gpt-3.5-turbo",
+    model="meta-llama/Llama-2-70b-chat-hf",
    messages=[
        {"role": "system", "content": "你是一个有帮助的助手。"},
        {"role": "user", "content": "敲敲门。"},
    ],
)

切换客户端时,请确保你的超参数仍然有效。例如,GPT-3的temperature可能与Llama-2temperature不同。

☑️ 主要特点

🤝 兼容的客户端

  • 实现与OpenAI API格式兼容的客户端,包括openai.ChatCompletionopenai.Completionopenai.Embedding
  • 通过更改一行代码,轻松在不同的LLMs之间切换,如openai.ChatCompletionhuggingface.ChatCompletion
  • 支持流式传输补全,查看示例如何流式传输补全

⚙️ 辅助模块 ⚙️

  • evol_instruct(正在开发中)- 使用进化算法为LLMs创建指令。

  • prompt_utils - 辅助方法,用于轻松在提示格式之间转换,如将OpenAI消息转换为开源模型(如Llama 2)的提示。

🙏 贡献

EasyLLM是一个开源项目,欢迎各种形式的贡献。

该项目使用hatch进行开发。要开始贡献,请fork仓库并克隆到本地机器。

  1. 确认已安装hatch(pipx是一个很好的工具,可以在你的机器上全局使用它)
  2. 进入项目目录后,运行hatch env create创建默认的虚拟环境用于开发。
  3. 使用hatch shell激活虚拟环境
  4. 开始开发!🤩

📔 引用与致谢

如果你使用了EasyLLM,请在社交媒体或通过电子邮件与我分享。我很乐意听到你的反馈! 你也可以使用以下BibTeX引用该项目:

@software{Philipp_Schmid_EasyLLM_2023,
author = {Philipp Schmid},
license = {Apache-2.0},
month = juj,
title = {EasyLLM: 简化的LLMs工具},
url = {https://github.com/philschmid/easyllm},
year = {2023}
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

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

Project Cover

AI写歌

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

Project Cover

有言AI

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

Project Cover

Kimi

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

Project Cover

阿里绘蛙

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

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

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