Использование API Ollama в C++

В этой статье описано, как использовать Оллама API . Этот документ призван помочь разработчикам C++ быстро освоиться и использовать все возможности Ollama. Изучив этот документ, вы сможете легко интегрировать Ollama в свои проекты.

Обратите внимание, что сообщество и документация Ollama могут быть больше ориентированы на интеграцию Python с другими языками высокого уровня. При использовании больших моделей в проектах на C++ принято использовать Llama.cpp (учебник llama.cpp) Llama.cpp - это проект с открытым исходным кодом, разработанный Георгием Гергановым, который предоставляет эффективную реализацию архитектуры LLaMa от Meta на языке C/C++, сфокусированную на процессе рассуждений для больших языковых моделей (LLM).

 

 

I. Подготовка окружающей среды

Здесь не рассматривается среда разработки для проектов на C++, а только то, как интегрировать Ollama. Убедитесь, что Ollama установлена и запущена, и что вы загрузили необходимые модели (см. главу 2 для получения дополнительной информации).

 

II. Вызов API Ollama

Вызывать Ollama API напрямую очень сложно, поэтому есть две идеи.

  • Используйте упакованные библиотеки классов C++.
  • Вызовите модель Олламы через Python.

1. использование упакованных библиотек C++

На Github можно найти упакованные библиотеки C++, которые можно использовать, просто добавив заголовочные файлы, чтобы не собирать колеса снова и снова. Вот пример ollama-hpp В качестве примера:

#include "ollama.hpp"
std::cout << ollama::generate("llama3.1:latest", "how to use ollama in a cpp project?") << std::endl;

В настоящее время на Github размещена только одна библиотека классов C++, и в ней есть некоторые ошибки, которые необходимо исправлять вручную в процессе тестирования, поэтому не рекомендуется использовать этот метод.

2. Вызов модели Олламы с помощью Python

Интеграция функциональности Ollama в проект на C++ позволяет вызывать модели Ollama из Python и передавать результаты в программу на C++:

  1. Написание кода на Python для вызова API Ollama: Напишите код на Python для вызова нужной модели для генерации текста или диалога через интерфейс API, предоставляемый Ollama. Ниже приведен пример простого вызова на Python:
    import requests
    def call_ollama_api(prompt, model_name="llama3.1:latest"):
    url = "http://localhost:11434/api/generate"
    headers = {"Content-Type": "application/json"}
    payload = {
    "model": model_name,
    "prompt": prompt,
    "stream": False
    }
    response = requests.post(url, json=payload, headers=headers)
    return response.json()
    # 示例调用
    response = call_ollama_api("黑神话好玩吗?")
    print(response)
    
  2. Вызов скриптов Python из C++: В программе на C++ вы можете использовать системные вызовы для выполнения скриптов Python и передавать необходимый текст или вопросы в качестве аргументов скрипту Python. Например, сценарий Python можно вызвать из C++ следующим образом:
    #include <cstdlib>
    int main() {
    system("python call_ollama.py '黑神话好玩吗?'");
    return 0;
    }
    

 

 

справочный документ

 

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...