mainbot
1.0.0
다중 테넌트 헤드리스 RAG 채팅 봇.
이는 검색 증강 생성(Retrieval Augmented Generation)을 사용하는 다중 테넌트 채팅 봇의 간단한 구현입니다.
이 코드 중 일부는 Wanderling에서 왔지만 모든 게임 관련 기능과 규칙 엔진이 제거되었습니다(아직 오픈 소스로 준비되지 않음).
example.env
파일을 .env
로 복사합니다.
openai 및 Pinecone의 값을 업데이트합니다.
make dev
http://localhost:8080/swagger-ui/index.html을 엽니다.
Spring 프로파일은 애플리케이션을 구성하는 데 사용됩니다.
몇 가지 구성 예시를 참조하세요(./src/main/resources/)[./src/main/resources/]
구성은 YAML, 속성 또는 환경 변수에서 설정할 수 있습니다.
OPENAI_ENABLED=true
OPENAI_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
OPENAI_CHAT_MODEL_ID=gpt-3.5-turbo
PINECONE_ENABLED=true
PINECONE_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PINECONE_PROJECT_NAME=my-project
PINECONE_INDEX=my-index
PINECONE_ENVIRONMENT=us-east4-gcp
APP_SECURITY_ENABLED=false
자세한 내용은 application-opensearch.yml의 애플리케이션 구성을 참조하세요.
SPRING_PROFILES_ACTIVE=opensearch
OPENAI_ENABLED=true
OPENAI_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
OPENAI_CHAT_MODEL_ID=gpt-3.5-turbo
OPENSEARCH_URL=https://localhost:9200
저장소에 문서를 저장하면 메인봇에 쉽게 업로드할 수 있습니다.
GitHub Action을 활용하여 텍스트/마크다운 파일을 메인봇에 직접 업로드하세요.
name : Upload Files to Mainbot
on :
workflow_dispatch : {} # Manually trigger the workflow
push :
branches :
- main
paths :
- ' docs/** '
- ' README.md '
jobs :
upload :
runs-on : ubuntu-latest
steps :
- name : Checkout repository
uses : actions/checkout@v2
- name : Upload Files
uses : savantly-net/mainbot-github-action@main
with :
glob-patterns : ' *.md ' # Set your file pattern here
namespace : ' /mainbot-documents '
api-url : ' https://mainbot.my-company.apps.savantly.cloud '
client-id : ${{ secrets.MAINBOT_CLIENT_ID }}
client-secret : ${{ secrets.MAINBOT_CLIENT_SECRET }}
token-endpoint : https://oidc.apps.savantly.cloud/realms/savantly/protocol/openid-connect/token
또한 메인봇과 통합할 수 있는 Backstage 플러그인도 구축했습니다.
Github 작업과 Techdocs 플러그인을 결합하면 모든 문서를 Backstage에서 즉시 사용할 수 있고 메인봇에서 검색할 수 있습니다.