AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


基于LangChain,创建GitHub大语言模型智能体
发布日期:2024-04-18 17:13:49 浏览次数: 2078 来源:AI科技论谈


利用LangChain框架和大型语言模型(LLM)智能体技术,创建能够与GitHub代码库交互的智能工具,提高软件开发效率和创新性。

随着大型语言模型(LLM)智能体技术的兴起,软件开发领域迎来了新的变革。本文介绍如何利用LangChain框架,打造一款能够自动读写代码并实现代码版本控制的智能智能体,使其成为GitHub代码库的有效助手。

通过这一过程,展示如何将尖端的AI技术与传统编程实践相结合,以期为软件开发带来更高效的工作流程和创新的可能性。下面是构建简单LLM GitHub智能体的具体步骤:

1 设置LLM

首先,通过LangChain框架配置OpenAI API,以便利用ChatGPT的功能:

from langchain.chat_models import ChatOpenAI

llm = ChatOpenAI(temperature=0)

2 定义工具或工具包

接下来,为LLM智能体配置首个工具,使其具备向代码库提交更改的功能。(假设当前目录下已经存在一个代码库):

from langchain.tools import tool

@tool
def github_commit_tool(commit_message="Some commit"):
    """这个函数使用subprocess包来提交到预定义的GitHub代码库"""
    subprocess.run(["git""add""."])
    subprocess.run(["git""commit""-m", commit_message])
    subprocess.run(["git""push""-u""origin""main"])

    return "Committed to Github"

工具现在非常容易设置,只需要在Python函数上方放置@tool装饰器。

3 定义代理

已经拥有了llm和工具,开始初始化智能体。

from langchain.agents import initialize_agent
from langchain.agents import AgentType

agent_executor = initialize_agent(
    tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True
)

这里将智能体类型设置为ZERO_SHOT_REACT_DESCRIPTION,这是对ReACT框架的一个引用。

4 查询代理

现在,将对智能体的初始版本进行测试,验证是否可以通过自然语言指令来激活并展示其工具功能。

agent_executor.invoke(
    {
        "input""Make a commit to our github repo with the message: 'langchain agent commit test number 2'"
    }
)

这里正在提示模型向代码库提交。

得到的输出是:

成功通过提示我们的智能体来访问GitHub功能了!

一点思考

随着人工智能技术的不断进步,软件开发的传统模式正在经历一场深刻的变革。智能体编写代码的概念逐渐成为现实,但这并不是简单地取代人类程序员的角色。

相反,智能体作为编程的辅助工具,将承担编写代码的任务,而人类开发者则将专注于监督和提升代码的质量,确保软件的结构合理、行为稳定、性能优越。

这种协作模式预示着软件开发未来的新趋势,将人的智慧与机器的效率相结合,共同推动技术创新的边界。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询