38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
import logging
|
|
import os
|
|
|
|
import dotenv
|
|
from langchain.chains.llm import LLMChain
|
|
from langchain.memory import ConversationBufferMemory
|
|
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
|
|
from langchain_openai import ChatOpenAI
|
|
|
|
logging.basicConfig(
|
|
level=logging.DEBUG,
|
|
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="Qwen/Qwen3-8B")
|
|
|
|
prompt = ChatPromptTemplate.from_messages([
|
|
("system", "你是一个万能的人工智能AI"),
|
|
MessagesPlaceholder(variable_name="history"),
|
|
("human", "问题:{question}")
|
|
])
|
|
|
|
## 创建 Memory 对象
|
|
memory = ConversationBufferMemory(return_messages=True)
|
|
|
|
chain = LLMChain(prompt=prompt, memory=memory, llm=llm)
|
|
res1 = chain.invoke({"question":"我是小明"})
|
|
print(res1)
|
|
print()
|
|
res2 = chain.invoke({"question":"我是谁?"})
|
|
print(res2)
|