이 프로젝트는 Dify의 API를 Streamlit과 통합하여 대화형 AI 애플리케이션을 만드는 방법을 보여줍니다.
- Streamlit 기반 사용자 인터페이스
- Dify 의 [챗봇, 에이전트, 채팅플로우] 앱 지원
- 멀티턴 대화, 사용자 별 대화 목록 관리
- 파일 업로드, 이미지 생성 지원
- YAML을 통한 앱 제목, 로고 이미지 설정
- Google 로그인 지원
- 저장소 복제:
git clone [저장소-URL]
cd dify-streamlit-usecase
- 가상 환경 생성 및 의존성 설치:
uv sync
- 예제 설정 파일 복사:
cp config.example.yaml config.yaml
config.yaml
파일을 다음 설정으로 편집:
dify:
api_key: YOUR_DIFY_API_KEY
base_url: https://api.dify.ai/v1
info:
title: YOUR_APP_TITLE
description: YOUR_APP_DESCRIPTION
icon: ./teddynote-logo.png # 프로젝트의 main.py 에 대한 상대경로 or Remote URL
cookie:
expiry_days: 30
key: dify-streamlit-usecase
name: dify-streamlit-usecase
credentials:
usernames:
oauth2: # 선택사항. 구글 로그인 사용 시 필요.
google: # README.md 참고
client_id: YOUR_GOOGLE_CLIENT_ID
client_secret: YOUR_GOOGLE_CLIENT_SECRET
redirect_uri: http://localhost:8501
- Streamlit 애플리케이션 시작:
uv run streamlit run main.py
- 브라우저를 열고 제공된 로컬 URL로 이동 (일반적으로 http://localhost:8501)
main.py
: 메인 Streamlit 애플리케이션sdk.py
: Dify API Client SDKconfig.yaml
: 애플리케이션 설정pyproject.toml
: 프로젝트 의존성
- Google Cloud Console로 이동
- 좌측의 사용자 인증 정보 클릭
- 사용자 인증 정보 만들기 > OAuth 클라이언트 ID
- 웹 애플리케이션 선택
- 승인된 리디렉션 URI 추가 (http://localhost:8501)
config.yaml
의 설정을 인증 정보로 업데이트
기여를 환영합니다! Pull Request를 자유롭게 제출해 주세요.