[GH-ISSUE #3354] Ollama run into infinite loop with specific prompt when temperature = 0 #48572

Closed
opened 2026-04-28 08:51:47 -05:00 by GiteaMirror · 1 comment
Owner

Originally created by @jliu015 on GitHub (Mar 26, 2024).
Original GitHub issue: https://github.com/ollama/ollama/issues/3354

What is the issue?

My chatbot is built with Ollama/tinyllama, langchain and streamlit.

llm = ChatOllama(temperature=0, model="tinyllama")

prompt : 帮我写一篇介绍大连的作文
Response:
大连是一个潇湘江岸的城市,位于中国北部地区。该城市有近四百年的历史,从古至今都是一个重要的经济和文化交流中心。大连是一座飞速发展的城市,在1950年以来,城市生活水平提高了十分之八,各种财富项目都在进行,并且已经成为国内外投资中心。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是���个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。

大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一▕

It looks like Ollama run into an infinite loop.
Fortunately I can still use my chatbot after I pressed "stop" on streamlit interface.

When temperate =0 Ollama always pick the candidate with highest probability in its inference process, It's possible to form a cycle. Ollama should be able to detect the cycle, break it and go forward.

What did you expect to see?

No repetitive pattern should be generated.

Steps to reproduce

My chatbot is pretty simple.

import streamlit as st
#from langchain_community.llms import Ollama
from langchain_community.chat_models import ChatOllama

title='聊天机器人'
st.set_page_config(
page_title=title)

with st.sidebar:
st.title(title)
st.subheader('Models and parameters')
selected_model = st.sidebar.selectbox('Choose an Ollama model', ['tinyllama'], key='selected_model')
if selected_model == 'tinyllama':
#llm = Ollama(model="tinyllama")
llm = ChatOllama(temperature=0, model="tinyllama")

Initialize chat history

greeting="How may I assist you today?"
if "messages" not in st.session_state:
st.session_state.messages = st.session_state.messages = [{"role": "assistant", "content": greeting }]

Display chat messages from history on app rerun

for message in st.session_state.messages:
with st.chat_message(message["role"]):
st.markdown(message["content"])

def clear_chat_history():
st.session_state.messages = [{"role": "assistant", "content": greeting}]
st.sidebar.button('Clear Chat History', on_click=clear_chat_history)

if prompt := st.chat_input():
# Add user message to chat history
st.session_state.messages.append({"role": "user", "content": prompt})
with st.chat_message("user"):
st.write(prompt)

with st.chat_message("assistant"):
    with st.spinner("Thinking..."):
        response = st.write_stream(llm.stream(prompt))
        st.session_state.messages.append({"role": "assistant", "content": response})

Are there any recent changes that introduced the issue?

I found this problem with Ollama version 0.1.18 at first when I set temperature =0 . But with a different prompt "hello".
Then I upgraded Ollama to 0.1.29, Same problem with a different prompt.

OS

Windows

Architecture

amd64

Platform

WSL2

Ollama version

0.1.29

GPU

Intel

GPU info

not detected

CPU

Intel

Other software

langchain, streamlit

Originally created by @jliu015 on GitHub (Mar 26, 2024). Original GitHub issue: https://github.com/ollama/ollama/issues/3354 ### What is the issue? My chatbot is built with Ollama/tinyllama, langchain and streamlit. llm = ChatOllama(temperature=0, model="tinyllama") prompt : 帮我写一篇介绍大连的作文 Response: 大连是一个潇湘江岸的城市,位于中国北部地区。该城市有近四百年的历史,从古至今都是一个重要的经济和文化交流中心。大连是一座飞速发展的城市,在1950年以来,城市生活水平提高了十分之八,各种财富项目都在进行,并且已经成为国内外投资中心。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是���个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一个潇湘江岸的重要经济基地。 大连是一个综合性的城市,其中包括商业、科技、文化、教育、医疗、服务等多方面。在这些方面,大连已经成为国内外重要的产业和财富集中点,并且是一▕ It looks like Ollama run into an infinite loop. Fortunately I can still use my chatbot after I pressed "stop" on streamlit interface. When temperate =0 Ollama always pick the candidate with highest probability in its inference process, It's possible to form a cycle. Ollama should be able to detect the cycle, break it and go forward. ### What did you expect to see? No repetitive pattern should be generated. ### Steps to reproduce My chatbot is pretty simple. import streamlit as st #from langchain_community.llms import Ollama from langchain_community.chat_models import ChatOllama title='聊天机器人' st.set_page_config( page_title=title) with st.sidebar: st.title(title) st.subheader('Models and parameters') selected_model = st.sidebar.selectbox('Choose an Ollama model', ['tinyllama'], key='selected_model') if selected_model == 'tinyllama': #llm = Ollama(model="tinyllama") llm = ChatOllama(temperature=0, model="tinyllama") # Initialize chat history greeting="How may I assist you today?" if "messages" not in st.session_state: st.session_state.messages = st.session_state.messages = [{"role": "assistant", "content": greeting }] # Display chat messages from history on app rerun for message in st.session_state.messages: with st.chat_message(message["role"]): st.markdown(message["content"]) def clear_chat_history(): st.session_state.messages = [{"role": "assistant", "content": greeting}] st.sidebar.button('Clear Chat History', on_click=clear_chat_history) if prompt := st.chat_input(): # Add user message to chat history st.session_state.messages.append({"role": "user", "content": prompt}) with st.chat_message("user"): st.write(prompt) with st.chat_message("assistant"): with st.spinner("Thinking..."): response = st.write_stream(llm.stream(prompt)) st.session_state.messages.append({"role": "assistant", "content": response}) ### Are there any recent changes that introduced the issue? I found this problem with Ollama version 0.1.18 at first when I set temperature =0 . But with a different prompt "hello". Then I upgraded Ollama to 0.1.29, Same problem with a different prompt. ### OS Windows ### Architecture amd64 ### Platform WSL2 ### Ollama version 0.1.29 ### GPU Intel ### GPU info not detected ### CPU Intel ### Other software langchain, streamlit
GiteaMirror added the bug label 2026-04-28 08:51:47 -05:00
Author
Owner

@dhiltgen commented on GitHub (May 5, 2024):

With a low temperature, some models can fall into loops. We've made adjustments to ollama recently to break out after exceeding the context size, so you should no longer see it stuck forever, but with a low temp, you may still see repetitive answers. Setting a higher temperature introduces variability which will help the LLM not repeat itself.

Please upgrade to 0.1.33 and you should no longer see it get stuck.

<!-- gh-comment-id:2094904076 --> @dhiltgen commented on GitHub (May 5, 2024): With a low temperature, some models can fall into loops. We've made adjustments to ollama recently to break out after exceeding the context size, so you should no longer see it stuck forever, but with a low temp, you may still see repetitive answers. Setting a higher temperature introduces variability which will help the LLM not repeat itself. Please upgrade to 0.1.33 and you should no longer see it get stuck.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/ollama#48572