PromptTools: LLM 및 벡터 데이터베이스 평가를 위한 오픈 소스 도구
요약
Hegel AI에서 개발한 PromptTools는 LLM, 벡터 데이터베이스, 프롬프트를 실험하고 평가할 수 있는 오픈 소스 도구 세트입니다. 개발자가 코드, 노트북, 로컬 플레이그라운드와 같은 익숙한 인터페이스를 통해 OpenAI, Anthropic, LLaMA 등 다양한 모델의 성능과 벡터 DB의 검색 정확도를 간편하게 테스트할 수 있도록 지원합니다.
핵심 포인트
- LLM 및 벡터 데이터베이스의 프롬프트와 매개변수를 실험하고 평가할 수 있는 오픈 소스 도구
- 코드, Jupyter Notebook, Streamlit 기반의 플레이그라운드 등 다양한 인터페이스 제공
- OpenAI, Anthropic, HuggingFace, LLaMA.Cpp 등 폭넓은 모델 통합 지원
- 벡터 데이터베이스의 검색 정확도 평가 기능 포함
Welcome to prompttools, Hegel AI에서 만든 프로젝트입니다! 이 저장소는 LLM, 벡터 데이터베이스, 그리고 프롬프트를 실험하고 테스트하며 평가할 수 있는 오픈 소스, 자체 호스팅 가능한 도구 세트를 제공합니다. 핵심 아이디어는 개발자들이 코드, 노트북, 로컬 _플레이그라운드_와 같은 익숙한 인터페이스를 사용하여 평가할 수 있도록 하는 것입니다.
단 몇 줄의 코드로 OpenAI, Anthropic 또는 LLaMA 모델 등 다양한 모델에 걸쳐 프롬프트와 매개변수를 테스트할 수 있습니다. 벡터 데이터베이스의 검색 정확도까지 평가할 수 있습니다.
from prompttools.experiment import OpenAIChatExperiment
messages = [
...
이슈 및 향후 업데이트에 대한 소식을 받아보려면 Discord에 참여하세요.
Quickstart
prompttools를 설치하려면 pip을 사용할 수 있습니다:
pip install prompttools
다음과 같이 간단한 prompttools 예제를 로컬에서 실행할 수 있습니다.
git clone https://github.com/hegelai/prompttools.git
cd prompttools && jupyter notebook examples/notebooks/OpenAIChatExperiment.ipynb
Google Colab에서도 노트북을 실행할 수 있습니다.
Playground (플레이그라운드)
<p align="center"> <img src="img/playground.gif" width="1000" height="500"> </p>우리의 플레이그라운드 (Playground) 인터페이스를 사용하여 prompttools와 상호작용하고 싶다면, 다음 명령어로 실행할 수 있습니다.
다음과 같이 로컬에서 간단한 prompttools 예제를 실행할 수 있습니다.
pip install notebook # jupyter notebook이 설치되어 있지 않은 경우
pip install prompttools
그 다음, git 저장소를 클론(clone)하고 streamlit 앱을 실행하세요:
git clone https://github.com/hegelai/prompttools.git
cd prompttools && streamlit run prompttools/playground/playground.py
Streamlit Community Cloud에서 호스팅되는 버전의 플레이그라운드에도 접속할 수 있습니다.
참고: 호스팅되는 버전은 LlamaCpp를 지원하지 않습니다.
Documentation (문서)
우리의 문서 웹사이트에는 전체 API 레퍼런스 (API reference)와 개별 구성 요소에 대한 더 자세한 설명이 포함되어 있습니다. 확인해 보세요!
Supported Integrations (지원되는 통합 기능)
우리의 실험(experiments)에서 지원하는 API 목록은 다음과 같습니다:
LLMs (대규모 언어 모델)
- OpenAI (Completion, ChatCompletion, Fine-tuned models) - 지원됨
- LLaMA.Cpp (LLaMA 1, LLaMA 2) - 지원됨
- HuggingFace (Hub API, Inference Endpoints) - 지원됨
- Anthropic - 지원됨
- Mistral AI - 지원됨
- Google Gemini - 지원됨
- Google PaLM (legacy) - 지원됨
- Google Vertex AI - 지원됨
- Azure OpenAI Service - 지원됨
- Replicate - 지원됨
- Ollama - 진행 중
Vector Databases (벡터 데이터베이스) 및 Data Utility (데이터 유틸리티)
- Chroma - 지원됨
- Weaviate - 지원됨
- Qdrant - 지원됨
- LanceDB - 지원됨
- Milvus - 탐색 중
- Pinecone - 지원됨
- Epsilla - 진행 중
Frameworks (프레임워크)
- LangChain - 지원됨
- MindsDB - 지원됨
- LlamaIndex - 탐색 중
Computer Vision (컴퓨터 비전)
- Stable Diffusion - 지원됨
- Replicate의 호스팅된 Stable Diffusion - 지원됨
조만간 지원되기를 원하는 API가 있다면, 이슈(Issue)를 생성하거나 이를 추가하기 위한 PR(Pull Request)을 보내주세요. 저희 Discord 채널에서 자유롭게 논의하셔도 좋습니다.
자주 묻는 질문 (FAQs)
-
이 라이브러리가 OpenAI, Anthropic 등으로 보내기 전에 제 LLM 호출을 서버로 전달하나요?
- 아니요, 소스 코드는 사용자의 머신에서 실행됩니다. LLM API에 대한 모든 호출은 전달 과정 없이 사용자의 머신에서 직접 실행됩니다.
-
prompttools가 제 API 키나 LLM 입력 및 출력을 서버에 저장하나요?- 아니요, 모든 데이터는 사용자의 로컬 머신에 머무릅니다. 저희는 어떠한 PII (개인 식별 정보)도 수집하지 않습니다.
-
결과를 어떻게 저장(persist)할 수 있나요?
- 테스트 및 실험 결과를 저장하려면
to_csv,to_json,to_lora_json또는to_mongo_db메서드를 사용하여Experiment를 내보낼(export) 수 있습니다. 저희는 더 많은 저장 기능을 구축하고 있으며, 여러분의 사용 사례, 고충(pain points), 그리고 어떤 내보내기 옵션이 유용할지에 대해 더 자세히 논의할 수 있다면 기쁘겠습니다.
- 테스트 및 실험 결과를 저장하려면
Sentry
<details> <summary><b>사용량 추적 (Usage Tracking)</b></summary>저희는 API를 빠르게 변경하고 있기 때문에, 저희의 부주의나 오래된 문서로 인해 발생하는 오류가 일부 있습니다. 사용자 경험을 개선하기 위해, 저희는 발생하는 오류를 이해하는 데 도움이 되는 일반적인 패키지 사용 데이터를 수집합니다. 이 데이터는 오픈 소스 소프트웨어에서 흔히 사용되는 제3자 오류 추적 서비스인 Sentry로 수집 및 전송됩니다. 이는 오직 이 라이브러리 자체의 동작만을 기록합니다.
SENTRY_OPT_OUT이라는 환경 변수를 정의하여 쉽게 거부(opt-out)할 수 있습니다.
기여하기 (Contributing)
PR(Pull Request)과 제안을 환영합니다! 주저하지 말고 PR/이슈를 생성하거나 이메일을 통해 저희에게 연락해 주세요.
시작하려면 저희의 기여 가이드와 "Help Wanted" 이슈를 확인해 주세요!
사용 및 피드백 (Usage and Feedback)
저희는 초기 사용자(early adopters)들과 협력하여 설계를 발전시켜 나가는 것을 매우 기쁘게 생각합니다. 귀하의 프로젝트에 이 도구를 사용하는 데 관심이 있거나 피드백이 있다면 이메일로 연락해 주세요.
라이선스 (License)
저희는 오픈 소스 커뮤니티에 더 많은 구성 요소들을 점진적으로 공개할 예정입니다. 현재 라이선스는 LICENSE 파일에서 확인하실 수 있습니다. 우려 사항이 있다면 저희에게 연락해 주세요. 기꺼이 함께 협력하겠습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Design Systems의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기