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

白日梦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号