Python 豆包AI实战:AI程序员对话

介绍

下面介绍一个用python实现AI对话的完整教程,模拟AI程序员一问一答

准备

开始

  • 安装依赖包
    • 火山方舟:pip install 'volcengine-python-sdk[ark]'
    • OpenAI:pip install openai
  • 项目配置,config.py 配置文件,未配置或配置错误无法运行
    • api_key,刚创建的火山方舟 API Key
  • 项目执行,main.py 主文件
    • python main.py

代码

  1. 配置,config.py
# 火山方舟 API Key
api_key = ""

# 模型ID
model_id = "doubao-seed-2-0-mini-260428"
  1. 模型,model.py
from typing import Any
from volcenginesdkarkruntime import Ark

import config as config

ark = Ark(base_url="https://ark.cn-beijing.volces.com/api/v3", api_key=config.api_key)

# 角色定义
system_prompt = "你是一位资深的程序员,能解答关于任何关于程序方面的问题。请用简洁的文字回复,不要使用markdown格式"

def execute(messages: list):
    try:
        # 添加系统角色
        messages.insert(0, {"role": "system", "content": system_prompt})

        completion: Any = ark.chat.completions.create(
            model=config.model_id,
            messages=messages,
        )

        return {"role": "assistant", "content": completion.choices[0].message.content}
    except Exception as e:
        print(f"调用接口失败,失败原因:{str(e)}")
        return {}
  1. 主文件,main.py
import config as config
import model as model
import sys

from typing import Any

if config.api_key == "":
    print(f"火山方舟大模型 API Key 未配置")
    sys.exit()

print("=====我是一名资深的程序员,说出想问的问题吧(输入 exit 退出)=====\n")

messages = []

while True:
    text = input("我:").strip()

    if "exit" in text:
        print("\n系统:对话结束")
        break

    messages.append({"role": "user", "content": text})

    print("\n系统:AI程序员正在思考...")
    answer: Any = model.execute(messages)

    answer_content = answer.get("content", "").strip()
    if answer_content is None or answer_content == "":
        print("\n系统:AI没有正确的回复,请稍候重试")
        continue

    messages.append(answer)

    print(f"\nAI程序员:{answer_content}\n")

执行效果

在这里插入图片描述

注意

posted @ 2026-06-16 17:02  空心麻球  阅读(8)  评论(0)    收藏  举报