Я хочу изучать LLM. Я запускаю Ollama со следующим файлом Docker Compose — он работает:
services:
ollama:
image: ollama/ollama:latest
ports:
- 11434:11434
volumes:
- ollama_data:/root/.ollama
healthcheck:
test: ollama list || exit 1
interval: 10s
timeout: 30s
retries: 5
start_period: 10s
ollama-models-pull:
image: curlimages/curl:8.6.0
command: >-
http://ollama:11434/api/pull -d '{"name": "mistral"}'
depends_on:
ollama:
condition: service_healthy
volumes:
ollama_data:
Я хотел бы написать приложение на Python, которое будет использовать ollama, и нашел этот фрагмент кода:
from llama_index.llms import Ollama, ChatMessage
llm = Ollama(model = "mistral", base_url = "http://127.0.0.1:11434")
messages = [
ChatMessage(
role = "system", content = "you are a multi lingual assistant used for translation and your job is to translate nothing more than that."
),
ChatMessage(
role = "user", content = "please translate message in triple tick to french ``` What is standard deviation?```"
)
]
resp = llm.chat(messages=messages)
print(resp)
Я установил все зависимости:
python3 -m venv venv
source venv/bin/activate
pip install llama-index
pip install llama-index-llms-ollama
pip install ollama-python
Однако когда я запустил приложение, я получил:
Traceback (most recent call last):
File "/home/user/test.py", line 1, in <module>
from llama_index.llms import Ollama, ChatMessage
ImportError: cannot import name 'Ollama' from 'llama_index.llms' (unknown location)
где может быть проблема?






Вы пропали после месячных. Должно быть:
from llama_index.legacy.llms.ollama import Ollama
Вместо
from llama_index.llms import Ollama, ChatMessage
Это действительно сработало, спасибо! Но значит ли это, что я использую старую библиотеку? Как изменить его, чтобы использовать новейшие классы?