C++에서 올라마 API 사용
이 문서에서는 Ollama API. 이 문서는 C++ 개발자가 Ollama의 기능을 빠르게 익히고 최대한 활용할 수 있도록 돕기 위해 작성되었습니다. 이 문서를 공부하면 Ollama를 프로젝트에 쉽게 통합할 수 있습니다.
올라마의 커뮤니티와 문서는 파이썬을 다른 상위 언어와 통합하는 데 더 중점을 두고 있다는 점에 유의하세요. C++ 프로젝트에서 큰 모델을 사용할 때는 일반적으로 Llama.cpp (llama.cpp 튜토리얼) Llama.cpp는 대규모 언어 모델(LLM)의 추론 프로세스에 초점을 맞춘 Meta의 LLaMa 아키텍처를 효율적으로 C/C++로 구현하는 오픈 소스 프로젝트로, Georgi Gerganov가 개발했습니다.
I. 환경 준비
여기서는 C++ 프로젝트의 개발 환경은 다루지 않고 Ollama를 통합하는 방법만 설명합니다. Ollama가 설치 및 실행 중이고 필요한 모델을 다운로드했는지 확인하세요(자세한 내용은 2장 참조).
II. 올라마 API 호출하기
Ollama API를 직접 호출하는 것은 번거롭기 때문에 두 가지 아이디어를 소개합니다.
- 패키지화된 C++ 클래스 라이브러리를 사용합니다.
- 파이썬을 통해 올라마의 모델을 호출합니다.
1. 패키지 C++ 라이브러리 사용
헤더 파일만 도입하면 반복적으로 휠을 빌드하지 않고도 사용할 수 있는 패키지 C++ 라이브러리는 Github에서 찾을 수 있습니다. 다음은 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. 파이썬을 통해 올라마 모델 호출하기
올라마의 기능을 C++ 프로젝트에 통합하면 Python에서 올라마의 모델을 호출하고 그 결과를 C++ 프로그램으로 전달할 수 있습니다:
- Ollama API를 호출하는 Python 코드 작성: Python으로 코드를 작성하여 원하는 모델을 호출하여 텍스트를 생성하거나 Ollama에서 제공하는 API 인터페이스를 통해 대화할 수 있습니다. 다음은 간단한 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)
- C++에서 Python 스크립트 호출하기: C++ 프로그램에서 시스템 호출을 사용하여 Python 스크립트를 실행하고 필요한 텍스트 또는 질문을 Python 스크립트에 인수로 전달할 수 있습니다. 예를 들어 다음과 같은 방법으로 C++에서 Python 스크립트를 호출할 수 있습니다:
#include <cstdlib> int main() { system("python call_ollama.py '黑神话好玩吗?'"); return 0; }
참조 문서
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...