Skip to content

tyquill/tyquill-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tyquill Agent

FastAPI와 LangChain을 사용하여 구축된 AI 기반 뉴스레터 생성 서비스입니다.

주요 기능

  • Google Vertex AI (Gemini) 기반 뉴스레터 생성
  • 다단계 처리를 위한 LangGraph 기반 워크플로우
  • 스크랩 콘텐츠 분석 및 조합
  • 글쓰기 스타일 적응
  • 콘텐츠 템플릿을 위한 구조 분석
  • 자동 문서화가 포함된 RESTful API

프로젝트 구조

tyquill-agent/
├── app/
│   ├── __init__.py
│   ├── main.py                    # FastAPI 애플리케이션
│   ├── models/
│   │   └── newsletter.py          # Pydantic 모델
│   ├── services/
│   │   ├── newsletter_workflow.py # LangChain 워크플로우 서비스
│   │   ├── scrap_combination.py   # 스크랩 처리 서비스
│   │   └── prompt_templates.py    # AI 프롬프트 템플릿
│   └── config/
│       └── settings.py            # 애플리케이션 설정
├── main.py                        # 진입점
├── pyproject.toml                 # UV 설정
├── Dockerfile                     # Docker 설정
└── .env                          # 환경 변수

설치 및 실행

사전 요구사항

  • Python 3.11+
  • UV 패키지 매니저
  • Google Vertex AI 프로젝트 및 서비스 계정
  • (선택) Google Gemini API 키

설치 방법

  1. 의존성 설치: -```bash uv sync

2. 환경 변수 설정:
-```bash
cp .env.example .env
# .env 파일을 편집하고 Vertex 프로젝트 설정 및 서비스 계정 경로를 추가하세요
  1. 애플리케이션 실행:
uv run python main.py

API는 http://localhost:8001에서 사용할 수 있습니다.

API 문서

실행 후 다음 주소에서 확인할 수 있습니다:

  • API 문서: http://localhost:8001/docs
  • ReDoc: http://localhost:8001/redoc

API 엔드포인트

POST /api/v1/newsletter/generate

제공된 콘텐츠와 매개변수로부터 뉴스레터를 생성합니다.

POST /api/v1/newsletter/analyze-structure

제공된 콘텐츠의 구조를 분석합니다.

GET /health

상태 확인 엔드포인트입니다.

환경 변수

  • GOOGLE_VERTEX_PROJECT_ID: Vertex AI가 활성화된 GCP 프로젝트 ID (필수)
  • GOOGLE_VERTEX_LOCATION: Vertex AI 리전 (기본값: us-central1)
  • GOOGLE_APPLICATION_CREDENTIALS: 서비스 계정 JSON 파일의 절대 경로 (필수)
  • GOOGLE_API_KEY: Google Gemini API 키 (선택, GenAI 직접 호출 시 사용)
  • API_HOST: API 호스트 (기본값: 0.0.0.0)
  • API_PORT: API 포트 (기본값: 8001)
  • DEBUG: 디버그 모드 (기본값: false)

Vertex용 모델 이름은 app/services/newsletter_workflow.pyapp/services/scrap_combination.py 상단 상수를 수정하여 변경하세요.

Docker 컨테이너에서 실행할 경우 GOOGLE_APPLICATION_CREDENTIALS에 지정한 서비스 계정 JSON이 컨테이너 내부 경로로 마운트되어 있어야 합니다. 파일이 없으면 Application Default Credentials로 폴백합니다.

Docker

Docker를 사용하여 빌드 및 실행:

docker build -t tyquill-agent .
docker run -p 8001:8001 --env-file .env tyquill-agent

About

Tyquill Agent

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors