Python 豆包AI实战:AI程序员对话
介绍
下面介绍一个用python实现AI对话的完整教程,模拟AI程序员一问一答
准备
- 安装python3.14
- 火山引擎注册账号,地址:https://console.volcengine.com/home
开始
- 安装依赖包
- 火山方舟:pip install 'volcengine-python-sdk[ark]'
- OpenAI:pip install openai
- 项目配置,config.py 配置文件,未配置或配置错误无法运行
- api_key,刚创建的火山方舟 API Key
- 项目执行,main.py 主文件
- python main.py
代码
- 配置,config.py
# 火山方舟 API Key
api_key = ""
# 模型ID
model_id = "doubao-seed-2-0-mini-260428"
- 模型,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 {}
- 主文件,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")
执行效果

注意
- 火山引擎注册会送很多免费的token,刚开始测试都是不需要费用的
- 完整的示例下载:https://download.csdn.net/download/lazy_uu/92958983

浙公网安备 33010602011771号