![見出し画像](https://assets.st-note.com/production/uploads/images/140303885/rectangle_large_type_2_d9148344c16b75d48510db65f3ebd7e5.png?width=1200)
langchainをollamaで使う (ローカルLLM(chat))
from langchain_community.llms import Ollama
from langchain.prompts import (
ChatPromptTemplate,
MessagesPlaceholder
)
llm = Ollama(model="llama3")
sys_prompt = """あなたは優秀なAIアシスタントです。質問に日本語で答えてください。
"""
prompt = ChatPromptTemplate.from_messages(
[
(
"system",
sys_prompt,
),
MessagesPlaceholder(variable_name="chat_history"),
("human", "{input}"),
]
)
chain = prompt | llm
chat_history = []
while True:
u = input("You: ")
if not u:
break
chat_history.append(u)
chunks = chain.stream({"input": u, "chat_history": chat_history})
for chunk in chunks:
print(chunk, end="")
print("")
chat_history.append(str(chunks))
ローカルLLMをlangchainに繋ぎます。短期記憶を実装するためにchat prompt templateを使います。チャットの最低限のスクリプトです。
このコードとは別にollamaをインストールしてください。gpuがある方は設定しないでも認識してくれます。
この記事が気に入ったらサポートをしてみませんか?