Spaces:
Running
on
Zero
Running
on
Zero
File size: 1,745 Bytes
4549941 3d91b3c 4549941 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
import os
from langchain.chains import LLMChain
from langchain_core.prompts import (
ChatPromptTemplate,
HumanMessagePromptTemplate,
MessagesPlaceholder,
)
from langchain_core.messages import SystemMessage
from langchain.chains.conversation.memory import ConversationBufferWindowMemory
from langchain_groq import ChatGroq
# Get Groq API key
groq_api_key = os.getenv("apikey")
groq_chat = ChatGroq(groq_api_key=groq_api_key, model_name="llama3-70b-8192")
system_prompt = "あなたは便利なアシスタントです。"
conversational_memory_length = 5
memory = ConversationBufferWindowMemory(
k=conversational_memory_length, memory_key="chat_history", return_messages=True
)
while True:
user_question = input("質問を入力してください: ")
if user_question.lower() == "exit":
print("Goodbye!")
break
if user_question:
# Construct a chat prompt template using various components
prompt = ChatPromptTemplate.from_messages(
[
# 毎回必ず含まれるSystemプロンプトを追加
SystemMessage(content=system_prompt),
# ConversationBufferWindowMemoryをプロンプトに追加
MessagesPlaceholder(variable_name="chat_history"),
# ユーザーの入力をプロンプトに追加
HumanMessagePromptTemplate.from_template("{human_input}"),
]
)
conversation = LLMChain(
llm=groq_chat,
prompt=prompt,
verbose=False,
memory=memory,
)
response = conversation.predict(human_input=user_question)
print("User: ", user_question)
print("Assistant:", response) |