2025.10.28
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import os # 导入环境变量
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
api_key = os.getenv("OPENAI_API_KEY")
|
||||
|
||||
|
||||
from openai import OpenAI
|
||||
|
||||
client = OpenAI(
|
||||
api_key=api_key,
|
||||
base_url="https://api.deepseek.com")
|
||||
|
||||
response = client.chat.completions.create(
|
||||
model="deepseek-chat",
|
||||
messages=[
|
||||
{"role": "system", "content": "You are a helpful assistant"}, # 提示词角色
|
||||
{"role": "user", "content": "Hello"}, # 用户输入的对话
|
||||
],
|
||||
stream=False # 非流式输出,只会等语句全部生成才返回
|
||||
)
|
||||
|
||||
print(response.choices[0].message.content)
|
||||
@@ -0,0 +1,36 @@
|
||||
import os # 导入环境变量
|
||||
from dotenv import load_dotenv
|
||||
from openai import OpenAI
|
||||
|
||||
load_dotenv()
|
||||
|
||||
def create_client():
|
||||
api_key = os.getenv("OPENAI_API_KEY")
|
||||
return OpenAI(api_key=api_key,base_url="https://api.deepseek.com")
|
||||
|
||||
def chat_loop(agent_client):
|
||||
messages = [
|
||||
{"role":"system","content":"你是一个历史老师,你会耐心的教导我有关的事情。同时你的回答会相对精简,在五十字内。"},
|
||||
{"role":"user","content":"汉朝存在了多久,其中哪个皇帝你认为最厉害?"}
|
||||
]
|
||||
while 1:
|
||||
response = agent_client.chat.completions.create(
|
||||
model="deepseek-chat",
|
||||
messages=messages
|
||||
)
|
||||
answer = response.choices[0].message.content
|
||||
print(f'回答:{answer}')
|
||||
|
||||
# 询问是否还有其他问题
|
||||
user_input =input('您还有其他想继续问的吗 | (exit退出)\n')
|
||||
if user_input == "exit":
|
||||
break
|
||||
|
||||
# 继续记录对话(涵盖用户追问 + ai上句回答)
|
||||
messages.append({"role":"user","content":user_input})
|
||||
messages.append({"role":"assistant","content":answer})
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
client = create_client()
|
||||
chat_loop(client)
|
||||
@@ -0,0 +1,29 @@
|
||||
## 🧩 模块说明:LLM 调用与多轮对话 Agent
|
||||
|
||||
📌 **核心知识点**:
|
||||
LLM 调用|Prompt 编写与设计|多轮对话记忆|独立搭建智能体
|
||||
|
||||
---
|
||||
|
||||
### 1. `01_basic_llm_invocation`(LLM 模型调用)
|
||||
使用 DeepSeek 官方推荐的调用方式,
|
||||
这是后续所有 API 调用的通用结构,可直接复用。
|
||||
|
||||
✅ 掌握点:
|
||||
- 如何初始化 LLM 实例
|
||||
- 标准的 API 调用格式
|
||||
- 快速切换模型和参数
|
||||
|
||||
---
|
||||
|
||||
### 2. `02_conversational_agent`(多轮问答 Agent)
|
||||
整合了 LLM + Prompt + Memory,实现有记忆的对话。
|
||||
|
||||
🔧 使用提示:
|
||||
想换 AI 人设或初始提问?
|
||||
👉 直接修改 `messages` 中的 `content` 即可。
|
||||
|
||||
✅ 掌握点:
|
||||
- 多轮对话如何保持上下文
|
||||
- Prompt 结构设计
|
||||
- 记忆模块(Memory)的基本用法
|
||||
Reference in New Issue
Block a user