1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/da9527-ollama-client

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

ollama-client

Простое Java-пакетирование для вызова ollama

Добавьте адрес репозитория

<!-- Добавьте адрес репозитория ollama-client -->
<repositories>
    <repository>
        <id>ollama-client</id>
        <url>https://gitee.com/da9527/ollama-client/raw/master/repo</url>
    </repository>
</repositories>

Добавьте зависимость

<dependency>
    <groupId>com.da</groupId>
    <artifactId>ollama-client</artifactId>
    <version>1.0.9</version>
</dependency>

Примеры:

Вызов генерации

Ollama ollama = new Ollama("deepseek-r1:1.5b");
System.out.println(ollama.run("Кто ты?"));
```### Использование PromptTemplate
Три способа заполнения шаблонных переменных
```java
// Именованный шаблон
PromptTemplate named = new PromptTemplate("{name} ваш баланс составляет: {balance} миллиардов юаней");
System.out.println(named.format("name", "Ада", "balance", 1000));
// Индексированный шаблон
PromptTemplate indexed = new PromptTemplate("%1$s день рождения: %2$d/%3$d/%4$d");
System.out.println(indexed.format("Ада", 2000, 10, 1));
// Смешанный шаблон
Map<String, String> params = new HashMap<>();
params.put("name", "Ада");
params.put("1$s", "владеет");
params.put("car", "Xiaomi SU7");
PromptTemplate mixed = new PromptTemplate("{name} хочет {1$s} автомобиль: {car}");
System.out.println(mixed.format(params));
Ollama ollama = new Ollama("deepseek-r1:1.5b");
PromptTemplate prompt = new PromptTemplate("Вы шеф-повар, отвечайте на следующий вопрос профессионально.\nВопрос: {question}");
for (Result result : ollama.run_stream(prompt.format("question", "Как приготовить яичную кашу?"))) {
    System.out.print(result.content());
}

Вызов чата

Ollama ollama = new Ollama("deepseek-r1:1.5b");
List<Message> messages = Arrays.asList(
    new SystemMessage("Вы шеф-повар, знаете множество блюд"),
    new UserMessage("Рекомендуйте мне китайское блюдо")
);
// content() вернет ответ модели
System.out.println(ollama.chat(messages).content());
System.out.println(ollama.chat(new UserMessage("Мне не нравится, предложите что-то другое")).content());
// chat_history() вернет историю текущего диалога
System.out.println(ollama.chat_history());

Поточное выполнение

Использование метода _stream вернет итерируемый объект StreamResult, что позволяет удобно выполнять поточное выполнение

Ollama ollama = new Ollama("deepseek-r1:1.5b");
for (Result result : ollama.run_stream("你好,我是谁")) {
    System.out.print(result.content());
}
Ollama ollama = new Ollama("deepseek-r1:1.5b");
```List<Message> messages = Arrays.asList(
    new SystemMessage("Вы是一名厨师,会非常多的菜品"),
    new UserMessage("给我推荐一道川菜")
);

for (Result s : ollama.chat_stream(messages)) {
    System.out.print(s.content());
}

Получить список моделей

Ollama ollama = new Ollama();
ollama.list().getModels().forEach(System.out::println);

Получить векторное представление из модели

OllamaEmbedding embedding = new OllamaEmbedding();
List<Double> data = embedding.embedding("吃了没,没吃的话吃我一锤").getEmbedding();
System.out.println(data);

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Простой Java-инструмент для вызова Ollama Примечание: исходный текст был на китайском языке, перевод выполнен на русский язык, сохранены структура и форматирование исходного текста. Развернуть Свернуть
MIT
Отмена

Обновления (4)

все

Участники

все

Язык

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/da9527-ollama-client.git
git@api.gitlife.ru:oschina-mirror/da9527-ollama-client.git
oschina-mirror
da9527-ollama-client
da9527-ollama-client
master