Skip to content

Commit eb5fea1

Browse files
committed
프로젝트 설정 업데이트
1 parent bb7e425 commit eb5fea1

File tree

2 files changed

+142
-1
lines changed

2 files changed

+142
-1
lines changed

.env.example

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,19 @@ OPENAI_API_KEY=your_openai_api_key_here
1515

1616
# 서버 설정 (선택 사항)
1717
# 기본값은 3000입니다
18-
PORT=3000
18+
19+
PORT=3000
20+
SESSION_SECRET=your_session_secret
21+
22+
# MongoDB 설정
23+
MONGODB_URI="몽고 DB 주소"
24+
25+
# GitHub OAuth 설정
26+
GITHUB_CLIENT_ID="깃허브 클라이언트 ID"
27+
GITHUB_CLIENT_SECRET="깃허브 클라이언트 시크릿"
28+
GITHUB_CALLBACK_URL="깃허브 콜백 URL"
29+
30+
# 텍스트 청크 설정 ( 선택 사항 )
31+
# 청크 크기와 중첩 크기를 설정합니다
32+
CHUNK_SIZE=1000
33+
CHUNK_OVERLAP=200

README.md

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,129 @@
77
- 소스 코드를 MongoDB Atlas Search 기반 벡터로 변환하여 저장
88
- RAG(Retrieval Augmented Generation) 기술을 활용한 관련 코드 검색
99
- 사용자 요청에 맞는 코드 수정 방법 추천
10+
- GitHub OAuth를 통한 사용자 인증 및 저장소 접근
11+
- 자동 벡터 저장소 갱신 기능
12+
13+
## 설치 방법
14+
15+
### 전제 조건
16+
17+
- Node.js (v14 이상)
18+
- MongoDB Atlas 계정
19+
- OpenAI API 키
20+
- GitHub OAuth 앱 등록
21+
22+
### 설치 단계
23+
24+
1. 저장소 클론
25+
26+
```bash
27+
git clone https://github.com/your-username/LangChainPractice.git
28+
cd LangChainPractice
29+
```
30+
31+
2. 의존성 설치
32+
33+
```bash
34+
npm install
35+
```
36+
37+
3. 환경 변수 설정
38+
`.env.example` 파일을 복사하여 `.env` 파일 생성 후 필요한 정보를 입력합니다.
39+
40+
```bash
41+
cp .env.example .env
42+
```
43+
44+
## 환경 변수 설정
45+
46+
`.env` 파일에 다음 정보를 설정해야 합니다:
47+
48+
```
49+
# OpenAI API 설정 (필수)
50+
OPENAI_API_KEY=your_openai_api_key_here
51+
52+
# 서버 설정
53+
PORT=3000
54+
SESSION_SECRET=your_session_secret
55+
56+
# MongoDB 설정
57+
MONGODB_URI="mongodb+srv://username:password@cluster.mongodb.net/database"
58+
59+
# GitHub OAuth 설정
60+
GITHUB_CLIENT_ID="깃허브 클라이언트 ID"
61+
GITHUB_CLIENT_SECRET="깃허브 클라이언트 시크릿"
62+
GITHUB_CALLBACK_URL="http://localhost:3000/auth/github/callback"
63+
64+
# 텍스트 청크 설정 (선택 사항)
65+
CHUNK_SIZE=1000
66+
CHUNK_OVERLAP=200
67+
68+
# LangSmith 관련 설정 (선택 사항)
69+
LANGSMITH_TRACING=true
70+
LANGSMITH_ENDPOINT="https://api.smith.langchain.com"
71+
LANGSMITH_API_KEY="your_langsmith_api_key_here"
72+
LANGSMITH_PROJECT="YourProjectName"
73+
```
74+
75+
## MongoDB Atlas Search 인덱스 설정
76+
77+
이 애플리케이션은 MongoDB Atlas의 벡터 검색 기능을 사용합니다. 다음 단계를 따라 벡터 검색 인덱스를 설정하세요:
78+
79+
1. MongoDB Atlas 콘솔에 로그인합니다.
80+
2. 해당 클러스터의 "Search" 탭으로 이동합니다.
81+
3. "Create Index" 버튼을 클릭합니다.
82+
4. JSON 편집기를 선택하고 다음 인덱스 정의를 입력합니다:
83+
84+
```json
85+
{
86+
"mappings": {
87+
"dynamic": true,
88+
"fields": {
89+
"embedding": {
90+
"dimensions": 1536,
91+
"similarity": "cosine",
92+
"type": "knnVector"
93+
}
94+
}
95+
},
96+
"name": "vector_index"
97+
}
98+
```
99+
100+
5. 데이터베이스와 컬렉션을 선택하고(기본값은 `vectors` 컬렉션) 인덱스를 생성합니다.
101+
102+
## 실행 방법
103+
104+
### 개발 모드로 실행
105+
106+
```bash
107+
npm run dev
108+
```
109+
110+
### 프로덕션 모드로 실행
111+
112+
```bash
113+
npm start
114+
```
115+
116+
서버가 시작되면 웹 브라우저에서 http://localhost:3000 으로 접속하여 애플리케이션을 사용할 수 있습니다.
117+
118+
## 사용 방법
119+
120+
1. 첫 화면에서 GitHub 계정으로 로그인합니다.
121+
2. 로그인 후 저장소 목록이 표시됩니다.
122+
3. 분석하고자 하는 저장소를 선택합니다.
123+
4. 코드 추천을 받고 싶은 내용을 질의합니다.
124+
5. 시스템은 관련 코드를 찾아 추천 사항을 제공합니다.
125+
126+
## 벡터 저장소 관리
127+
128+
저장소의 코드가 변경되었을 경우, 벡터 저장소를 갱신할 수 있습니다:
129+
130+
1. 저장소를 선택한 상태에서 "벡터 저장소 갱신" 버튼을 클릭합니다.
131+
2. 새로운 코드가 분석되어 벡터로 변환됩니다.
132+
133+
## 라이센스
134+
135+
이 프로젝트는 MIT 라이센스를 따릅니다.

0 commit comments

Comments
 (0)