赞
踩
AI 大行其道,Python 作为 AI 开发最炙手可热的编程语言,也水涨船高。
各位作为 Python 开发者怎么能不了解一下 Python 相关的 AI 开源库呢?
以下我就为大家列出了一些目前还鲜为人知的 AI 开源库,有几个还真不错哦。
网址: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)
网址: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
网址: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
网址: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])
网址:https://github.com/mem0ai/mem0
安装:pip install mem0ai
Mem0 为大模型提供了一个智能且自我优化的长期记忆层,使个性化的 AI 体验能够贯穿于不同应用。
它能够在用户会话、交互操作和 AI 智能体之间保留信息,确保与用户交互的连续性。同时,Mem0 会根据用户的互动不断优化个性化体验。
Mem0 的 API 设计简单直观,便于无缝集成到各种应用中。此外,它还能确保不同平台和设备上的数据和行为保持一致。
网址: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
网址: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)
网址: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)
网址: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
- 往期精彩回顾
-
-
-
-
- 适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑
交流群
欢迎加入机器学习爱好者微信群一起和同行交流,目前有机器学习交流群、博士群、博士申报交流、CV、NLP等微信群,请扫描下面的微信号加群,备注:”昵称-学校/公司-研究方向“,例如:”张小明-浙大-CV“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~(也可以加入机器学习交流qq群772479961)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。