readme
이 readme은 일반적으로 응용 프로그램을 실행하고 실행하는 데 필요한 모든 단계를 문서화합니다.
기술 스택
- 파이썬 3.9
- Fastapi
- FAISS-CPU == 1.7.4
- langchain == 0.0.207
- PENECONE-CLIENT
- pgvector
제 3 자 통합
- SendGrid- 이메일 보내기
- YouTube-Transcript-API- 텍스트 youtube URL 가져 오기
- docx2txt- docx 파일에서 텍스트를 가져옵니다
- PYPDF- PDF 파일에서 텍스트를 가져옵니다
- 셀레늄 -URL 파일에서 텍스트를 얻습니다
- 기타 문서 로더 및 데이터 구문 분석 라이브러리
프로젝트 설정
요구 사항 파일에 종속성을 설치하십시오
ENV 파일에 OpenAI 및 기타 API 키를 추가하십시오
변수 이름은 Sample.env를 참조하고 Backend.env를 실제 ENV 파일로 사용하십시오.
사용 사례에 따라 Constant.py의 상수 변수를 구성하십시오.
벡터 데이터베이스 구성 :
- 벡터 데이터베이스에 따라 응용 프로그램을 구성하십시오
추가 지침 :
- 사용자 정의 요구 사항에 맞는 방법을 변경하십시오.
- 사용 사례에 따라 상수 변수를 변경하십시오
- 프로젝트 특정 사용 사례에 대한 보일러 플레이트 코드 수정
특징
- 일반 기능을위한 엔드 포인트 및 유용한
- 벡터 임베딩 생성 - YouTube 비디오, HTML 페이지, Siteemaps, URL, PDF, DOCX, JSON, 텍스트 파일, CSV 또는 관계형 데이터베이스
- 정확한 소스가있는 사용자 정의 데이터를 기반으로 한 질문 및 답변
- 토큰 수와 토큰은 Tiktoken으로 오류 처리를 초과했습니다
- 다른 벡터 DB 지원에 대한 다른 벡터 DB 지원
미래의 향상
- OpenAI 응답을 실시간으로 스트리밍합니다
- 일부 유틸리티 기능을 추가하고 기존 기능의 기능을 향상시킵니다.
- 코드를보다 모듈화하고 구성 가능하게 만듭니다
IDE
프로젝트 설정
- 설정 요약
- 구성
- 의존성
- 데이터베이스 구성
- 테스트를 실행하는 방법
- 배포 지침
코딩 규칙
- pep8
- 모듈 식 및 구성 가능한 코드를 작성하십시오
- 주 코드에 주석 코드 또는 미사용 가져 오기를하지 마십시오.
- 상대 수입 대신 절대 수입을 사용해야합니다
- .format () 또는 %s 대신 F- 스트링 사용
- 클래스 이름은 Camelcase에 있어야합니다
- 함수 이름과 변수 이름은 Snake_case에 있어야합니다
- 유형 힌트 사용
- docstrings의 사용
- 로깅 사용
기여 지침
Redis Integation
- Redis 설치 : PIP 설치 Redis Aioredis
- 요구 사항을 동결하십시오 : PIP FREEZE> 요구 사항 .txt
- .env 파일에 redis_host_url을 추가하십시오
- redis 인스턴스는 on_startup event에서 main.py 파일에서 생성됩니다.
셀러리 통합
- 셀러리 설치 : PIP 셀러리를 설치하십시오
- 요구 사항을 동결하십시오 : PIP FREEZE> 요구 사항 .txt
- .env 파일에 celery_broker_url을 추가하십시오
- Celery 인스턴스는 Celery_app의 Core 모듈에서 작성됩니다
- Celery 작업은 루트 디렉토리의 작업자 모듈에서 작성됩니다.
- Celery Worker는 Command : Celery -A App.Worker -L Info -C 1을 사용하여 시작합니다.
셀러리는 통합을 이겼다
- 셀러리 설치 : PIP 셀러리를 설치하십시오
- 요구 사항을 동결하십시오 : PIP FREEZE> 요구 사항 .txt
- Celery Beat 인스턴스는 루트 디렉토리의 작업자 모듈에서 생성됩니다.
- 새 작업을 추가하는 동안 일정 시간이 초로 루트 디렉토리의 작업자 모듈에 추가됩니다.
- Celery Beat는 Command : Celery -A App.Worker Beat -L Info를 사용하여 시작했습니다.
센트리 통합
- Sentry SDK 설치 : Sentry-SDK를 설치하십시오
- 요구 사항을 동결하십시오 : PIP FREEZE> 요구 사항 .txt
- 센트리 인스턴스는 main.py 파일로 생성됩니다