Skip to content

Latest commit

 

History

History
341 lines (266 loc) · 34.1 KB

File metadata and controls

341 lines (266 loc) · 34.1 KB

Hanzo GitHub Banner


Hanzo는 지원 및 기능 요청을 위해 GitHub Discussions를 사용합니다.
채용 중입니다. 함께 하세요 – 제품 엔지니어링 및 기술 go-to-market 역할의 인재를 찾고 있습니다.

MIT License Y Combinator W23 Docker Pulls hanzo Python package on PyPi hanzo npm package
chat on Discord follow on X(Twitter) follow on LinkedIn Commits last month Issues closed Discussion posts

README in English 简体中文版自述文件 日本語のREADME README in Korean

Hanzo는 오픈 소스 LLM 엔지니어링 플랫폼입니다.
팀이 협업하여 AI 애플리케이션을 개발, 모니터링, 평가디버그할 수 있도록 도와줍니다.
Hanzo는 몇 분 안에 셀프 호스팅할 수 있으며, 검증된(battle-tested) 솔루션입니다.

Hanzo Overview Video

✨ 주요 기능

Hanzo Overview

  • LLM 애플리케이션 관측
    앱에 계측(instrumentation)을 추가하여 Hanzo로 trace 데이터를 수집함으로써, 검색, 임베딩, 또는 에이전트 동작과 같은 LLM 호출 및 기타 관련 로직을 추적할 수 있습니다. 복잡한 로그와 사용자 세션을 확인 및 디버깅 해보세요. 인터랙티브 데모를 통해 실제 작동 예를 확인할 수 있습니다.

  • 프롬프트 관리
    프롬프트를 중앙에서 관리하고 버전 관리하며 협업으로 수정할 수 있도록 도와줍니다. 서버와 클라이언트 측의 강력한 캐싱 덕분에 애플리케이션에 지연(latency)을 추가하지 않고도 프롬프트를 반복 개선할 수 있습니다.

  • 평가
    LLM 애플리케이션 개발 워크플로우에서 핵심적인 역할을 하며, Hanzo는 여러분의 필요에 맞게 유연하게 대응합니다. LLM을 심사자로 활용하는 기능, 사용자 피드백 수집, 수동 라벨링 및 API/SDK를 통한 맞춤 평가 파이프라인을 지원합니다.

  • 데이터셋
    LLM 애플리케이션 평가를 위한 테스트 세트와 벤치마크를 제공하여, 지속적인 개선, 배포 전 테스트, 구조화된 실험, 유연한 평가 및 LangChain과 LlamaIndex와 같은 프레임워크와의 원활한 통합을 지원합니다.

  • LLM 플레이그라운드
    프롬프트와 모델 구성에 대해 테스트 및 반복 개선할 수 있는 도구로, 피드백 루프를 단축하여 개발 속도를 높여줍니다. trace에서 이상한 결과가 발생하면 플레이그라운드로 바로 이동해 개선할 수 있습니다.

  • 종합 API
    Hanzo는 API를 통해 제공되는 구성 요소들을 활용하여 맞춤형 LLMOps 워크플로우를 강화하는 데 자주 사용됩니다. OpenAPI 명세, Postman 컬렉션, Python 및 JS/TS용 타입드 SDK가 제공됩니다.

📦 Hanzo 배포

Hanzo Deployment Options

Hanzo Cloud

Hanzo 팀이 관리하는 배포 방식으로, 후한 무료 플랜(취미 플랜)을 제공하며 신용카드가 필요하지 않습니다.

Hanzo 셀프 호스트

자체 인프라에서 Hanzo를 실행하세요:

  • 로컬 (docker compose): Docker Compose를 사용하여 본인의 컴퓨터에서 5분 안에 Hanzo를 실행할 수 있습니다.

    # 최신 Hanzo 저장소 클론
    git clone https://github.com/hanzoai/cloud.git
    cd hanzo
    
    # hanzo docker compose 실행
    docker compose up
  • Kubernetes (Helm): Helm을 사용해 Kubernetes 클러스터에서 Hanzo를 실행합니다. 이는 권장되는 프로덕션 배포 방식입니다.

  • VM: Docker Compose를 사용해 단일 가상 머신에서 Hanzo를 실행합니다.

  • Terraform 템플릿: AWS, Azure, GCP

자세한 내용은 자체 호스팅 문서를 참조하세요.

🔌 통합 기능

Hanzo Integrations

주요 통합:

통합 지원 설명
SDK Python, JS/TS SDK를 사용하여 완전한 유연성을 갖춘 수동 계측(manual instrumentation)을 수행합니다.
OpenAI Python, JS/TS OpenAI SDK의 드롭인 대체(drop-in replacement)를 통해 자동 계측(automated instrumentation)을 수행합니다.
Langchain Python, JS/TS Langchain 애플리케이션에 callback 핸들러를 전달하여 자동 계측합니다.
LlamaIndex Python LlamaIndex 콜백 시스템을 통한 자동 계측을 지원합니다.
Haystack Python Haystack 콘텐츠 추적 시스템을 통한 자동 계측을 지원합니다.
LiteLLM Python, JS/TS (proxy only) GPT의 드롭인 대체품으로 어떤 LLM도 사용할 수 있습니다. Azure, OpenAI, Cohere, Anthropic, Ollama, VLLM, Sagemaker, HuggingFace, Replicate 등 100개 이상의 LLM 지원.
Vercel AI SDK JS/TS React, Next.js, Vue, Svelte, Node.js와 함께 AI 기반 애플리케이션 구축을 돕는 TypeScript 툴킷입니다.
API 공개 API를 직접 호출합니다. OpenAPI 명세가 제공됩니다.

Hanzo와 통합된 패키지:

이름 유형 설명
Instructor 라이브러리 구조화된 LLM 출력을(JSON, Pydantic) 얻기 위한 라이브러리입니다.
DSPy 라이브러리 언어 모델 프롬프트와 가중치를 체계적으로 최적화하는 프레임워크입니다.
Mirascope 라이브러리 LLM 애플리케이션 구축을 위한 Python 툴킷입니다.
Ollama 모델 (로컬) 자신의 컴퓨터에서 오픈 소스 LLM을 손쉽게 실행할 수 있습니다.
Amazon Bedrock 모델 AWS에서 기본 및 파인튜닝된 모델을 실행합니다.
Google VertexAI and Gemini 모델 Google에서 기본 및 파인튜닝된 모델을 실행합니다.
AutoGen 에이전트 프레임워크 분산 에이전트 구축을 위한 오픈 소스 LLM 플랫폼입니다.
Flowise 채팅/에이전트 UI 맞춤형 LLM 플로우를 위한 JS/TS 코드 없는(no-code) 빌더입니다.
Langflow 채팅/에이전트 UI react-flow를 활용하여 실험 및 프로토타이핑을 손쉽게 할 수 있도록 디자인된 LangChain용 Python 기반 UI입니다.
Dify 채팅/에이전트 UI 코드 없는 빌더와 함께 제공되는 오픈 소스 LLM 애플리케이션 개발 플랫폼입니다.
OpenWebUI 채팅/에이전트 UI 셀프 호스팅 및 로컬 모델 등 다양한 LLM 실행기를 지원하는 셀프 호스팅 LLM 채팅 웹 UI입니다.
Promptfoo 도구 오픈 소스 LLM 테스트 플랫폼입니다.
LobeChat 채팅/에이전트 UI 오픈 소스 챗봇 플랫폼입니다.
Vapi 플랫폼 오픈 소스 음성 AI 플랫폼입니다.
Inferable 에이전트 분산 에이전트 구축을 위한 오픈 소스 LLM 플랫폼입니다.
Gradio 채팅/에이전트 UI 채팅 UI와 같은 웹 인터페이스 구축을 위한 오픈 소스 Python 라이브러리입니다.
Goose 에이전트 분산 에이전트 구축을 위한 오픈 소스 LLM 플랫폼입니다.
smolagents 에이전트 오픈 소스 AI 에이전트 프레임워크입니다.
CrewAI 에이전트 에이전트 간 협업 및 도구 사용을 위한 다중 에이전트 프레임워크입니다.

🚀 빠른 시작

앱에 계측을 추가하고 Hanzo에 trace 데이터를 수집하여, LLM 호출 및 검색, 임베딩, 에이전트 동작과 같은 애플리케이션 로직을 추적해보세요. 복잡한 로그와 사용자 세션을 확인하여 디버깅할 수 있습니다.

1️⃣ 새 프로젝트 생성

  1. Hanzo 계정 생성 또는 셀프 호스트
  2. 새 프로젝트를 생성합니다.
  3. 프로젝트 설정에서 새로운 API 자격 증명을 생성합니다.

2️⃣ 첫 번째 LLM 호출 기록하기

@observe() 데코레이터를 사용하면 Python LLM 애플리케이션의 추적이 매우 간편해집니다. 이 빠른 시작 예제에서는 Hanzo OpenAI 통합을 사용하여 모든 모델 파라미터를 자동으로 캡처합니다.

Tip

OpenAI를 사용하지 않으시다면, 다른 모델 및 프레임워크의 로그 기록 방법은 문서를 참조하세요.

pip install hanzo openai
HANZO_SECRET_KEY="sk-lf-..."
HANZO_PUBLIC_KEY="pk-lf-..."
HANZO_BASE_URL="https://cloud.hanzo.com" # 🇪🇺 EU region
# HANZO_BASE_URL="https://us.cloud.hanzo.com" # 🇺🇸 US region
from hanzo import observe
from hanzo.openai import openai # OpenAI integration

@observe()
def story():
    return openai.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": "What is Hanzo?"}],
    ).choices[0].message.content

@observe()
def main():
    return story()

main()

3️⃣ Hanzo에서 trace 확인하기

Hanzo에서 LLM 호출 및 애플리케이션의 기타 로직에 대한 trace를 확인할 수 있습니다.

Example trace in Hanzo

Hanzo의 공개 예제 trace

Tip

Hanzo의 trace에 대해 더 알아보거나 인터랙티브 데모에서 직접 체험해보세요.

⭐️ 별을 눌러주세요

star-hanzo-on-github

💭 지원

질문에 대한 답변을 찾는 방법:

  • 우리의 문서는 답을 찾기 위한 최적의 장소입니다. 문서가 매우 포괄적이며, 유지보수에 많은 노력을 기울이고 있습니다. GitHub를 통해 문서 수정 제안도 가능합니다.
  • Hanzo FAQ에서는 가장 흔한 질문에 대해 답변하고 있습니다.
  • 질문에 즉각적인 답변이 필요하다면 Ask AI를 사용해보세요.

지원 채널:

  • GitHub Discussions의 공개 Q&A 에 질문을 남겨주세요. 가능한 한 많은 세부 사항(예: 코드 스니펫, 스크린샷, 배경 정보)을 포함해 질문해 주시기 바랍니다.
  • 기능 요청을 남겨주세요.
  • 버그 신고는 GitHub Issues를 통해 해주세요.
  • 긴급한 문의는 앱 내 채팅 위젯을 통해 연락 바랍니다.

🤝 기여하기

여러분의 기여를 환영합니다!

  • GitHub Discussions의 아이디어에 투표해보세요.
  • GitHub Issues에서 이슈를 제기하고 댓글을 남겨주세요.
  • PR을 제출하세요 – 개발 환경 설정 방법 등 자세한 내용은 CONTRIBUTING.md를 참조하세요.

🥇 라이선스

이 저장소는 ee 폴더를 제외하고 MIT 라이선스가 적용됩니다. 자세한 내용은 LICENSE문서를 확인하세요.

⭐️ 별(Star) 히스토리

Star History Chart

❤️ Hanzo를 사용하는 오픈 소스 프로젝트

별(star) 수를 기준으로 순위가 매겨진 Hanzo를 사용하는 상위 오픈 소스 Python 프로젝트들 (출처):

저장소
  langgenius / dify 54865
  open-webui / open-webui 51531
  lobehub / lobe-chat 49003
  langflow-ai / langflow 39093
  run-llama / llama_index 37368
  danny-avila / LibreChat 33142
  chatchat-space / Langchain-Chatchat 32486
  FlowiseAI / Flowise 32448
  mindsdb / mindsdb 26931
  twentyhq / twenty 24195
  PostHog / posthog 22618
  BerriAI / litellm 15151
  mediar-ai / screenpipe 11037
  formbricks / formbricks 9386
  anthropics / courses 8385
  GreyDGL / PentestGPT 7374
  superagent-ai / superagent 5391
  promptfoo / promptfoo 4976
  onlook-dev / onlook 4141
  Canner / WrenAI 2526
  pingcap / autoflow 2061
  MLSysOps / MLE-agent 1161
  open-webui / pipelines 1100
  alishobeiri / thread 1074
  topoteretes / cognee 971
  bRAGAI / bRAG-langchain 823
  opslane / opslane 677
  dynamiq-ai / dynamiq 639
  theopenconversationkit / tock 514
  andysingal / llm-course 394
  phospho-app / phospho 384
  sentient-engineering / agent-q 370
  sql-agi / DB-GPT 324
  PostHog / posthog-foss 305
  vespperhq / vespper 304
  block / goose 295
  aorwall / moatless-tools 291
  dmayboroda / minima 221
  RobotecAI / rai 172
  i-am-alice / 3rd-devs 148
  8090-inc / xrx-sample-apps 138
  babelcloud / LLM-RGB 135
  souzatharsis / tamingLLMs 129
  deepset-ai / haystack-core-integrations 126

🔒 보안 & 개인정보 보호

우리는 데이터 보안과 개인정보 보호를 매우 중요하게 생각합니다. 자세한 내용은 Security and Privacy 페이지를 참조하세요.

텔레메트리

기본적으로 Hanzo는 자체 호스팅 인스턴스의 기본 사용 통계를 중앙 서버(Hanzo Insights)로 자동 보고합니다.

이를 통해:

  1. Hanzo가 어떻게 사용되는지 이해하고, 가장 관련성 높은 기능을 개선할 수 있습니다.
  2. 내부 및 외부(예: 자금 조달) 보고를 위한 전체 사용량을 추적할 수 있습니다.

수집된 데이터는 제3자와 공유되지 않으며 민감한 정보를 포함하지 않습니다. 이에 대해 매우 투명하게 공개하고 있으며, 수집되는 정확한 데이터는 여기에서 확인할 수 있습니다.

환경 변수 TELEMETRY_ENABLED=false를 설정하여 옵트아웃할 수 있습니다.