初探大模型智能体
·
from openai import OpenAI
class QAgent:
def __init__(self, api_key, base_url,
system_prompt="你是一个聪明的智能体,你会用中文回答用户提出的各种问题。"):
self.api_key = api_key
self.base_url = base_url
self.system_prompt = system_prompt
self.client = OpenAI(api_key=self.api_key, base_url=self.base_url)
# 提问接口
def ask(self, question):
response = self.client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "system", "content": self.system_prompt},
{"role": "user", "content": question}
],
stream=False
)
return response.choices[0].message.content
# 更新系统提示
def update_system_prompt(self, new_prompt):
self.system_prompt = new_prompt
# 实例化
agent = QAgent(
api_key="your_api_key",
base_url="https://api.deepseek.com"
)
print(agent.ask("你好"))
首先,我们定义了一个智能体类 QAgent。在这个类的构造函数中,包含以下几个参数:
-
api_key:用于访问模型服务的 API Key -
base_url:模型服务的请求地址 -
system_prompt:系统提示词,用于设定智能体的默认行为和回答风格
在实例化时,我们通过 agent = QAgent(...) 创建一个对象,并将 API Key 和服务地址作为参数传入。
这里的 OpenAI 起的是——API 客户端(Client)封装器 的作用。代码逻辑其实是:
QAgent → OpenAI 客户端 → DeepSeek 服务器 → 返回结果
在定义一个QAgent类后,在该类中实例化了一个OpenAI对象。这样就能直接调用OpenAI提供的各类功能函数了。这样做主要是为了避免写一些请求函数。
再看提问接口,当执行:
self.client.chat.completions.create(...)
实际发生的是:
OpenAI 客户端
↓
构造 HTTP 请求
↓
发送到 https://api.deepseek.com
↓
服务器运行模型 deepseek-chat
↓
返回 JSON 数据
↓
SDK 解析成 Python 对象
更多推荐
所有评论(0)