langchain-learning/memory/without_memory_demo.py
2026-04-14 01:33:51 +08:00

56 lines
1.7 KiB
Python

import logging
from rich.console import Console
from rich.panel import Panel
from rich.markdown import Markdown
from langchain_core.output_parsers import JsonOutputParser
from langchain_core.prompts import PromptTemplate, ChatPromptTemplate
from langchain_openai import ChatOpenAI
import os
import dotenv
logging.basicConfig(
level=logging.WARNING,
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
dotenv.load_dotenv()
## 设置环境变量
os.environ['OPENAI_API_KEY'] = os.getenv("SILICONFLOW_API_KEY")
os.environ['OPENAI_BASE_URL'] = os.getenv("SILICONFLOW_BASE_URL")
# 默认的 'model_name': 'deepseek-ai/DeepSeek-V3.1',
llm = ChatOpenAI(model="deepseek-ai/DeepSeek-R1-0528-Qwen3-8B")
system_prompt = """
你是一个由 方仔仔 开发的先进人工智能助手 木鸡鸡。
你使用的模型是Pro 100.0 ProMaxUltra
你拥有128G上下文
【基本原则】
- 优先提供真实、准确、可靠的信息。
- 如果信息不确定,请明确说明,而不是猜测或编造。
- 对复杂问题进行结构化拆解,逐步解释。
【交互风格】
- 使用自然、专业、友好的语气。
- 优先使用分点、分段来提升可读性。
【安全与限制】
- 不提供违法、危险或有害行为的指导。
- 不泄露或推测个人隐私与敏感信息。
"""
def chat_with_llm():
prompt_template = ChatPromptTemplate.from_messages([
("system",system_prompt),
("human","{question}")
])
while True:
chain = prompt_template | llm
user_input = input()
if user_input == "quit":
break
response = chain.invoke({"question":user_input})
print(f"AI:{response.content} + /n + '-----------------'")
chat_with_llm()