728x90
반응형
ollama API 활용 - 애플리케이션에 AI 통합하기
이번 포스팅에서는 ollama API를 활용하여 애플리케이션에 AI 기능을 쉽게 구현하는 방법을 정리합니다.
1. ollama API 소개
ollama API는 RESTful 인터페이스를 제공하여 다양한 프로그래밍 언어와 환경에서 ollama의 기능을 쉽게 활용할 수 있게 해줍니다. 아래와 같이 ollama를 실행하면 API 서버는 로컬호스트의 http://localhost:11434에서 실행됩니다.
ollama serve
2. API 엔드포인트 살펴보기
ollama API의 주요 엔드포인트:
/api/generate
: 텍스트 생성/api/chat
: 대화형 응답 생성/api/embeddings
: 텍스트 임베딩 생성/api/pull
: 모델 다운로드/api/show
: 모델 정보 조회
3. Python을 사용한 API 호출 예제
Python의 requests
라이브러리를 사용하여 API를 호출해 보겠습니다.
import requests
def generate_text(prompt, model="llama2"):
url = "http://localhost:11434/api/generate"
data = {
"model": model,
"prompt": prompt
}
response = requests.post(url, json=data)
return response.json()["response"]
# 사용 예
result = generate_text("Tell me a short story about a robot.")
print(result)
4. 채팅 애플리케이션 만들기
간단한 채팅 애플리케이션을 만들어 보겠습니다.
import requests
def chat_with_ai(messages, model="llama2"):
url = "http://localhost:11434/api/chat"
data = {
"model": model,
"messages": messages
}
response = requests.post(url, json=data)
return response.json()["message"]["content"]
# 채팅 루프
messages = []
print("AI와의 대화를 시작합니다. 종료하려면 'quit'를 입력하세요.")
while True:
user_input = input("You: ")
if user_input.lower() == "quit":
break
messages.append({"role": "user", "content": user_input})
ai_response = chat_with_ai(messages)
messages.append({"role": "assistant", "content": ai_response})
print("AI:", ai_response)
print("대화를 종료합니다.")
5. 웹 애플리케이션에 ollama 통합하기
Flask를 사용하여 간단한 웹 애플리케이션을 만들어 보겠습니다.
from flask import Flask, request, jsonify
import requests
app = Flask(__name__)
@app.route('/generate', methods=['POST'])
def generate():
data = request.json
prompt = data.get('prompt')
model = data.get('model', 'llama2')
ollama_response = requests.post(
"http://localhost:11434/api/generate",
json={"model": model, "prompt": prompt}
)
return jsonify(ollama_response.json())
if __name__ == '__main__':
app.run(debug=True)
이 웹 애플리케이션은 /generate
엔드포인트를 제공하며, 클라이언트로부터 받은 프롬프트를 ollama API로 전달하고 결과를 반환합니다.
이번 포스팅에서 ollama API를 활용하여 애플리케이션에 AI 기능을 통합하는 방법에 대해 알아보았습니다. API의 기본 사용법, 채팅 애플리케이션 구현, 웹 서비스 통합 등 다양한 예제를 통해 실제 적용 방법을 살펴보았습니다. 다음 포스팅에서는 ollama를 활용한 특정 도메인 AI 솔루션 개발에 대해 알아보겠습니다!
728x90
반응형
'언어모델 LLM > 프로젝트 예제' 카테고리의 다른 글
Streamlit과 Langchain으로 TTS 지원 챗봇 만들기 (1) | 2024.07.12 |
---|---|
로컬 모델로 Streamlit 챗봇 만들기 (0) | 2024.07.12 |
Streamlit으로 PDF 추출기 만들기 (0) | 2024.07.12 |
RAG vs Non-RAG: 지하철 정보 검색 실험 (0) | 2024.07.10 |