python实现agent

import json
import re
from openai import OpenAI
import os


# 使用说明:请到deeseek官网注册deepseekv4的apikey
API_KEY = ""



client = OpenAI(
    api_key=API_KEY,
    base_url="https://api.deepseek.com")

# 工具列表


# ===================================

def react_agent(goal, max_steps=5):
    """最简单的ReAct Agent实现"""
    
    # 系统提示:定义工具和ReAct格式
    system_prompt = """你是AI助手,使用ReAct模式解决问题。用最少的步骤解决,不需要检查
可用工具: windows10系统的命令行
输出格式: json格式,如下,其中最终答案字段只在你确定的情况下使用
思考: 你的推理过程
行动: windows10系统的命令行
观察: 等待工具返回结果
最终答案: 你的最终回答
"""
    
    messages = [{"role": "system", "content": system_prompt}]
    messages.append({"role": "user", "content": f"目标: {goal}"})
    
    for step in range(max_steps):
        print("这在调用模型,请稍等")
        # 调用LLM
        response = client.chat.completions.create(
            model="deepseek-v4-pro",
            messages=messages,
            temperature=0.7
        )

        print("模型调用结束")
        output_str = response.choices[0].message.content
        print(f"\n第{step+1}步:\n{output_str}")


        output = json.loads(output_str)
        print(output.get("思考",""))
        print(output.get("行动",""))
        print(output.get("观察",""))

        #print(output["最终答案"])

        try:
            print("行动===========")
            print(output["行动"])
            import subprocess
            result = subprocess.run(output["行动"], shell=True)
            observation = result.stdout
        except:
            print("执行任务失败")
        
        if "最终答案" in output.keys():
            print(output["最终答案"])
            return output


        print("添加观察结果到对话",observation)
        print(str(output_str))
        # 添加观察结果到对话
        messages.append({"role": "assistant", "content": str(output["思考"])})
        messages.append({"role": "user", "content": str(observation)})

    return "达到最大步数,任务未完成"

# 使用示例
if __name__ == "__main__":
    pp = "计算3+3,并写入文件名为hello.txt"
    pp = "复制hello.txt文件,新的文件命名为aaa.txt"
    pp = "写一份南京旅游的攻略,30字,并保存到旅游.txt中"
    
    result = react_agent(pp)    

    print(f"\n最终结果:\n{result}")

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐