1. Python 环境

安装git 安装和设置 Git - Azure DevOps | Microsoft Learn

安装 Anaconda/Miniconda  Getting started with Anaconda - Anaconda

abc@DESKTOP-robot2 MINGW64 /d/github/mai
$ conda info -e

# conda environments:
#
# *  -> active
# + -> frozen
base                     D:\App\Anaconda
mai                      D:\App\Anaconda\envs\mai

conda创建Python虚拟环境,制定python版本:

conda create -n env-name python=3.6

如果是 Powershell 下运行,激活某个虚拟环境:

(base) PS D:\github\mai> conda activate mai

如果 Git-bash 下运行,需要:

conda init bash

(mai) PS D:\github\mai> conda activate mai

  如果报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 572: illegal multibyte sequence Unexpected cygpath error, fallback to manual path conversion   AttributeError: 'NoneType' object has no attribute 'strip'

 Windows 系统默认编码是 gbk ,而 gitbash 使用 utf8 ,可以设置 python 系统环境为变量 utf8 全局解决,系统环境变量“新建” - 变量名: PYTHONUTF8 - 变量值:1

# 删除环境

(mai) PS D:\github\mai> conda remove -n mai --all

2. 微软 AutoGen

GitHub - microsoft/autogen: A programming framework for agentic AI

微软用于生成 .net / python的AI代理和多代理工作流。支持的模型:Models — AutoGen

安装autogen + openai

pip install -U "autogen-agentchat" "autogen-ext[openai]"

3. OpenAI ApiKey

注册Gmail邮箱,https://platform.openai.com/ ,注册会给一个test key,可以直接用。

4. Demo

首先测试 OpenAI 是否ok:

from openai import OpenAI

client = OpenAI(
  api_key="xxx"
)

response = client.responses.create(
  model="gpt-5-nano",
  input="write a haiku about ai",
  store=True,
)

print(response.output_text);

输出结果:

[Running] python -u "d:\github\mai\test_openai_apikey.py"

Soft circuits murmur

learning from vast data sets

dreams in silicon

测试 AutoGen + OpenAI:

import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient

async def main() -> None:
    # update your OpenAI Appkey to api_key
    model_client = OpenAIChatCompletionClient(model="gpt-5-nano", api_key="sk-proj-xxxx")
    agent = AssistantAgent("assistant", model_client=model_client)
    print(await agent.run(task="Say 'Hello World!'"))
    await model_client.close()

asyncio.run(main())

输出结果:

messages=[TextMessage(id='9528e7ce-1cae-4227-8fa8-64aef120c3f5', source='user', models_usage=None, metadata={}, created_at=datetime.datetime(2025, 11, 12, 8, 48, 1, 12789, tzinfo=datetime.timezone.utc), content="Say 'Hello World!'", type='TextMessage'), TextMessage(id='18627195-324d-40ac-9183-1d646ffc6413', source='assistant', models_usage=RequestUsage(prompt_tokens=40, completion_tokens=335), metadata={}, created_at=datetime.datetime(2025, 11, 12, 8, 48, 7, 445152, tzinfo=datetime.timezone.utc), content='Hello World!\nTERMINATE', type='TextMessage')] stop_reason=None

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐