autogen改变屏幕亮度

学习资料

官方的入门教程很容易入门,所以推荐使用官方的学习资料:autogen官方教程

小实践,修改屏幕亮度

准备:

  1. 修改屏幕亮度的python代码(参考:改变屏幕亮度
  2. 使用工具(autogen使用工具例子代码)
python 复制代码
import tempfile

from autogen import ConversableAgent,config_list_from_json
from autogen.coding import LocalCommandLineCodeExecutor
from autogen import register_function
import screen_brightness_control as sbc
from typing import Annotated,Literal
Operator = Literal["change"]

def change_brightness(value:int,operator: Annotated[Operator, "operator"]) ->str:
    sbc.set_brightness(value)
    return 'change successfully'

def main():
    config_list = config_list_from_json(env_or_file='OAI_CONFIG_LIST')
    temp_dir = tempfile.TemporaryDirectory()
    #定义assistant
    assistant_agent_system_message = "You are a helpful AI assistant. "
    "You can help with change brightness on my device. "
    "Return 'TERMINATE' when the task is done."
    assistant_agent = ConversableAgent(
        "assisant",
        llm_config={'config_list':config_list},
        system_message=assistant_agent_system_message,
        code_execution_config=False,
    )

    executor = LocalCommandLineCodeExecutor(
        timeout=10,
        work_dir=temp_dir.name,
    )

    user_proxy_agent = ConversableAgent(
        "user-proxy",
        code_execution_config={
            'executor': executor,
        },
        human_input_mode="ALWAYS",
    )

    #注册工具
    # Register the tool signature with the assistant agent.
    assistant_agent.register_for_llm(name="changeScreenbrightness", description="A tool to change screen brightness")(change_brightness)

    # Register the tool function with the user proxy agent.
    user_proxy_agent.register_for_execution(name="changeScreenbrightness")(change_brightness)

    chat_result = user_proxy_agent.initiate_chat(
        assistant_agent,
        message='Change brightness to 50'
    )
    

if __name__ == '__main__':
    main()

OAI_CONFIG_LIST文件的配置为:

python 复制代码
[
    {
        "model": "qwen-plus-latest", 
        "base_url":"https://dashscope.aliyuncs.com/compatible-mode/v1",
        "api_type":"qwen",
        "api_key":"你的key",
        "temperature": 0.7,
        "max_tokens":2000,
        "stream":0
    }
]

注意事项

  1. 这里使用的阿里的兼容openai的接口。是一个比较好的选择,因为autogen对openai的适配度高。
  2. 使用了下阿里百炼平台的llama3(要申请,有免费额度),但是不支持function call,所以改成了使用qwen-plus-latest。这个模型还可以,比qwen-turo聪明些。
相关推荐
gentle coder11 小时前
一文入门ReAct Agent,附从零构建 ReAct Agent
ai·agent·思维链·智能体·react agent
程序新视界11 小时前
为什么不建议基于Multi-Agent来构建Agent工程?
人工智能·后端·agent
潘锦15 小时前
从 LangChain 和 Manus 两巨头上下文工程实战中学到的 5 点经验
agent
Benny的老巢17 小时前
基于Playwright TypeScript/JavaScript的API调用爬虫成熟方案
javascript·爬虫·typescript·自动化·agent·playwright
爱吃泡芙的小白白21 小时前
Agent学习——并行化模式
学习·langchain·agent·google adk
wei_shuo21 小时前
LazyLLM 多 Agent 应用全流程实践:从源码部署到可视化 Web 调试的低代码方案
agent·lazyllm
FreeCode21 小时前
一文精通Agentic AI设计
人工智能·agent·ai编程
bohejia1 天前
Agent Demo——生成报告
agent
企业智能研究2 天前
什么是数据治理?数据治理对企业有什么用?
大数据·人工智能·数据分析·agent
AI Echoes2 天前
LangChain 非分割类型的文档转换器使用技巧
人工智能·python·langchain·prompt·agent