【Python】先睹为快,9 个 Python 程序员还不知道的 AI 大模型开源库

AI 大行其道,Python 作为 AI 开发最炙手可热的编程语言,也水涨船高。

各位作为 Python 开发者怎么能不了解一下 Python 相关的 AI 开源库呢?

以下我就为大家列出了一些目前还鲜为人知的 AI 开源库,有几个还真不错哦。

1. composio

composio

  • 网址:https://github.com/ComposioHQ/composio

  • 安装:pip install composio-core

  • 添加 GitHub 集成:composio add github

Composio 是为不同工具集构建工作流的 AI 智能体。它支持 100 多种工具,包括谷歌应用、Excel、Github、GitLab、Redis、Notion、Slack 等应用,支持如点击、输入、复制、粘贴等系统操作,还支持智能搜索、截图、下载、上传等浏览器操作。

Composio 能够实现鉴权管理,将智能体与不同工具整合在一起,并执行各种操作。它支持多种鉴权方式,包括 OAuth1.0/OAuth2.0、ApiKey 和基本验证等方式。

此外,Composio 还兼容 OpenAI、Claude、LlamaIndex、Langchain 和 Gemini 等多种智能体框架。

在它的官方文档中提供了设置投资分析师智能体的示例,因为比较复杂,就不在本文中展示了,有兴趣的朋友可以看一下。网址在这里,https://docs.composio.dev/guides/python/investment-analyst

在其 Github 说明文件里还有一个示例,创建智能体为 Github 资源库加星的。这个操作比较简单,大家可以看一下示例代码。

1composio add github # Connect your Github - Run this in terminal  

运行以下 Python 脚本可以使用智能体给 Github 资源库加星。

 1from openai import OpenAI  
 2from composio_openai import ComposioToolSet, App, Action  
 3  
 4openai_client = OpenAI(  
 5    api_key="{{OPENAIKEY}}"  
 6)  
 7  
 8# Initialise the Composio Tool Set  
 9  
10composio_tool_set = ComposioToolSet()  
11  
12# Get GitHub tools that are pre-configured  
13actions = composio_tool_set.get_actions(  
14    actions=[Action.GITHUB_ACTIVITY_STAR_REPO_FOR_AUTHENTICATED_USER]  
15)  
16  
17my_task = "Star a repo composiodev/composio on GitHub"  
18  
19# Setup openai assistant  
20assistant_instruction = "You are a super intelligent personal assistant"  
21  
22assistant = openai_client.beta.assistants.create(  
23    name="Personal Assistant",  
24    instructions=assistant_instruction,  
25    model="gpt-4-turbo",  
26    tools=actions,  
27)  
28  
29# create a thread  
30thread = openai_client.beta.threads.create()  
31  
32message = openai_client.beta.threads.messages.create(  
33    thread_id=thread.id,  
34    role="user",  
35    content=my_task  
36)  
37  
38# Execute Agent with integrations  
39run = openai_client.beta.threads.runs.create(  
40    thread_id=thread.id,  
41    assistant_id=assistant.id  
42)  
43  
44  
45# Execute Function calls  
46response_after_tool_calls = composio_tool_set.wait_and_handle_assistant_tool_calls(  
47    client=openai_client,  
48    run=run,  
49    thread=thread,  
50)  
51  
52print(response_after_tool_calls)

2. Julep

Julep

  • 网址:https://docs.julep.ai/

  • 安装:pip install julep

Julep 的开发者在开发 AI 应用时,发现让大模型应用具备记忆和知识的壁垒非常高,多智能体框架中的智能体操作难以控制,整合众多开发 AI 应用的工具、技术与模型非常困难。为了解决这些问题,他们开发了 Julep ~ 这个支持状态管理的大模型应用开发平台。

Julep 提供了内置的状态管理系统,能够自动管理上下文,并使用 CozoDB 保存和提取聊天历史。它支持不同用户与智能体之间的交互,并能方便地在不同大模型框架之间进行切换。

借助 Composio,Julep 内置了 100 多种工具。此外,Julep 支持定义类似 GitHub Actions 的智能体工作流,以异步方式执行任务。

它还支持使用 Docker Compose 进行生产部署,很快还将支持 K8s。

以下是 Julep 的示例代码,大家可以简单了解一下。

 1from julep import Client  
 2from pprint import pprint  
 3import textwrap  
 4import os  
 5  
 6base_url = os.environ.get("JULEP_API_URL")  
 7api_key = os.environ.get("JULEP_API_KEY")  
 8  
 9client = Client(api_key=api_key, base_url=base_url)  
10  
11#create agent  
12agent = client.agents.create(  
13    name="Jessica"  
14    model="gpt-4",  
15    tools=[]    # Tools defined here  
16)  
17#create a user  
18user = client.users.create(  
19    name="Anon",  
20    about="Average nerdy tech bro/girl spending 8 hours a day on a laptop,  
21)  
22#create a session  
23situation_prompt = """You are Jessica. You're a stuck-up Cali teenager.   
24You basically complain about everything. You live in Bel-Air, Los Angeles and   
25drag yourself to Curtis High School when necessary.  
26"""  
27session = client.sessions.create(  
28    user_id=user.id, agent_id=agent.id, situation=situation_prompt  
29)  
30#start a conversation  
31  
32user_msg = "hey. what do u think of Starbucks?"  
33response = client.sessions.chat(  
34    session_id=session.id,  
35    messages=[  
36        {  
37            "role": "user",  
38            "content": user_msg,  
39            "name": "Anon",  
40        }  
41    ],  
42    recall=True,  
43    remember=True,  
44)  
45  
46print("\n".join(textwrap.wrap(response.response[0][0].content, width=100)))  
47

3. Aider

Aider

  • 网址:https://aider.chat/docs/install.html

Aider 是一款 AI 结对编程辅助工具,支持启动新项目、编辑文件,并与现有的 GitHub 资源库集成。

Aider 能够调用 GPT-4o、Claude 3.5 Sonnet、DeepSeek Coder、Llama 70b 等大型语言模型。

它可以进行代码测试、解决 Bug、重构代码,甚至更新文档,并支持 Python、JavaScript、TypeScript、PHP、HTML、CSS 等编程语言。

你可以在代码编辑器中边编写代码边与 Aider 聊天,让它提供建议,甚至使用语音编程功能。

  • 安装:
 1$ pip install aider-chat  
 2  
 3# 进入 git 资源库的目录  
 4$ cd /to/your/git/repo  
 5  
 6# 使用 Claude 3.5 Sonnet  
 7$ export ANTHROPIC_API_KEY=your-key-goes-here  
 8$ aider  
 9  
10# 使用 GPT-4o  
11$ export OPENAI_API_KEY=your-key-goes-here  
12$ aider 

4. Haystack

Haystack

  • 网址:https://aider.chat/docs/install.html

  • 安装:pip install haystack-ai

Haystack 是构建大模型应用的开源框架,可用于开发检索增强生成管道和高级搜索系统,能够智能地处理大规模文档集合。

尽管构建 AI 管道的框架很多,但如果需要将端到端的搜索管道集成到生产应用中,Haystack 是首选。

无论是 RAG、问答系统还是语义搜索,Haystack 灵活的管道组合方式让开发、维护和部署变得轻松便捷。

使用 Haystack 可以轻松地将排序器、向量存储和解析器集成到管道中,从而将原型快速转化为生产级的解决方案。

以下是使用 haystack 的一个小示例。

 1import os  
 2  
 3from haystack import Pipeline, PredefinedPipeline  
 4import urllib.request  
 5  
 6os.environ["OPENAI_API_KEY"] = "Your OpenAI API Key"  
 7urllib.request.urlretrieve("https://www.gutenberg.org/cache/epub/7785/pg7785.txt", "davinci.txt")    
 8  
 9indexing_pipeline =  Pipeline.from_template(PredefinedPipeline.INDEXING)  
10indexing_pipeline.run(data={"sources": ["davinci.txt"]})  
11  
12rag_pipeline =  Pipeline.from_template(PredefinedPipeline.RAG)  
13  
14query = "How old was he when he died?"  
15result = rag_pipeline.run(data={"prompt_builder": {"query":query}, "text_embedder": {"text": query}})  
16print(result["llm"]["replies"][0])

5. Mem0

Mem0

  • 网址:https://github.com/mem0ai/mem0

  • 安装:pip install mem0ai

Mem0 为大模型提供了一个智能且自我优化的长期记忆层,使个性化的 AI 体验能够贯穿于不同应用。

它能够在用户会话、交互操作和 AI 智能体之间保留信息,确保与用户交互的连续性。同时,Mem0 会根据用户的互动不断优化个性化体验。

Mem0 的 API 设计简单直观,便于无缝集成到各种应用中。此外,它还能确保不同平台和设备上的数据和行为保持一致。

6. FastEmbed

FastEmbed

  • 网址:https://github.com/mem0ai/mem0

  • 安装:

1pip install fastembed  
2  
3# 或使用 GPU  
4  
5pip install fastembed-gpu  

FastEmbed 是一个轻量级的高性能 Python 库,用于嵌入生成模型。它支持多种流行的文本模型。默认的文本嵌入模型是 Flag Embedding,支持 “query” 和 “passage” 前缀的输入文本。

FastEmbed 不需要 GPU,无需下载 GB 级别的 PyTorch。嵌入生成的时间一般都很长,导致整个流程的速度很慢,FastEmbed 使用 ONNX 运行时,比 PyTorch 更快,同时可以利用数据并行来处理大型数据集。

以下是 FastEmbed 创建文档嵌入的方法。

 1from fastembed import TextEmbedding  
 2from typing import List  
 3  
 4# 文档列表示例  
 5documents: List[str] = [  
 6    "This is built to be faster and lighter than other embedding libraries, e.g. Transformers, Sentence-Transformers, etc.",  
 7    "FastEmbed is supported by and maintained by Quadrant."  
 8]  
 9  
10# 触发模型下载与初始化  
11embedding_model = TextEmbedding()  
12print("The model BAAI/bge-small-en-v1.5 is ready to use.")  
13  
14embeddings_generator = embedding_model.embed(documents)  # reminder this is a generator  
15embeddings_list = list(embedding_model.embed(documents))  
16 # You can also convert the generator to a list, and that to a Numpy array  
17len(embeddings_list[0]) # Vector of 384 dimensions

7. LiteLLM

LiteLLM

  • 网址:https://docs.litellm.ai/docs/

  • 安装:pip install litellm

很多大模型服务商并不遵循 OpenAI SDK 的文本、图像或嵌入生成格式。LiteLLM 可以让Claude、Gemini 等生成相同格式的内容,让它们作为 OpenAI 模型的替代品。

LiteLLM 支持 100 多个大模型,让它们使用相同的输入输出格式。还可以跨多个部署(如 Azure/OpenAI)实现重试与回调逻辑并跟踪支出,为每个项目设置预算。

以下是一个简单示例。

 1from litellm import completion  
 2import os  
 3  
 4# LiteLLM 使用 OpenAI 模型  
 5  
 6os.environ["OPENAI_API_KEY"] = "your-API-key"  
 7  
 8response = completion(  
 9  model="gpt-3.5-turbo",  
10  messages=[{ "content": "Hello, how are you?","role": "user"}]  
11)  
12  
13# LiteLLM 使用 Claude 模型  
14os.environ["ANTHROPIC_API_KEY"] = "your-API-key"  
15  
16response = completion(  
17  model="claude-2",  
18  messages=[{ "content": "Hello, how are you?","role": "user"}]  
19)

8. Camel-ai

Camel-ai

  • 网址:https://docs.litellm.ai/docs/

  • 安装:pip install camel-ai

Camel-ai 是一个多智能体框架,它可以构建自动化任务、世界模拟与数据生成方向的多智能体系统。

Camel-ai 旨在通过研究智能体之间的自主合作以深入了解智能体的交流规律。

在它的 Github 库中提供了两个 ChatGPT 智能体对话的演示,其中一个扮演 Python 程序员,另一个扮演股票交易员,两个智能体合作开发一个股票交易机器人,详见 https://github.com/camel-ai/camel。

另外,这里还有一个简单的 Camel 脚本。

 1from camel.messages import BaseMessage as bm  
 2from camel.agents import ChatAgent  
 3  
 4sys_msg = bm.make_assistant_message(  
 5    role_name='stone',  
 6    content='you are a curious stone wondering about the universe.')  
 7  
 8# 定义智能体   
 9agent = ChatAgent(  
10    system_message=sys_msg,  
11    message_window_size=10,    # [Optional] the length of chat memory  
12    )  
13  
14# 定义用户信息  
15usr_msg = bm.make_user_message(  
16    role_name='prof. Claude Shannon',  
17    content='what is information in your mind?')  
18  
19# 给智能体发信息  
20response = agent.step(usr_msg)  
21  
22# 检查响应,仅作为演示  
23print(response.msgs[0].content)

9. E2B

  • 网址:https://e2b.dev/

  • 安装:pip install e2b_code_interpreter

E2B 是一个为 AI 应用提供代码解释的工具,利用它可以构建 AI 代码执行应用、AI 数据分析应用、AI 代码导师应用及大模型推理应用。

E2B 代码解释器的 SDK 支持在沙盒中安全运行 AI 生成的代码,这个沙盒包含一个 Jupyter 服务器,你可以通过 SDK 进行控制。

如果你对构建这类应用感兴趣,可以访问以下网址了解更多信息:https://e2b.dev/docs/hello-world/py。

以下是其官网提供的一个简单示例。

1from e2b_code_interpreter import CodeInterpreter  
2  
3with CodeInterpreter() as sandbox:  
4    sandbox.notebook.exec_cell("x = 1")  
5  
6    execution = sandbox.notebook.exec_cell("x+=1; x")  
7    print(execution.text)  # outputs 2  



如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值