2025.10.28

This commit is contained in:
2287551746@qq.com
2025-10-28 17:40:49 +08:00
parent 8c48ae5776
commit df904371a8
13 changed files with 70 additions and 19 deletions
@@ -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)
+29
View File
@@ -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)的基本用法