구글 앱 스크립트로 RAG 교육자료 만들기

소개

중국어 중국어 중국어 중국어 중국어 중국어 중국어 치

<< 원본 파일은 개별 요청 바랍니다. 맞춤 함수 때문에 업로드가 안되네요. >>

진행 방법

먼저 기존에 이번 스터디를 하기전에 엑셀로 만들었습니다. 초기에는 구글 시트로 시도하다 실패를 해서 이번에 다시 도전 놓친 부분을 이번에 알게되어 클로드를 이용해서 기존 만들어 둔 엑셀 함수를 가볍게 변경해 보았습니다.

사실 너무 간단하게 변경이 되어 내용이 많지 않음

Google Sheets에 스크립트를 적용하는 방법을 단계별로 설명해드리겠습니다:

1. 스크립트 편집기 열기

- Google Sheets 문서를 엽니다

- 상단 메뉴에서 확장 프로그램 > Apps Script를 클릭합니다

2. 코드 입력

- Apps Script 편집기가 열리면 기본적으로 있는 코드를 모두 지우고

- 제가 제공한 코드를 복사하여 붙여넣습니다

- 파일 이름을 적절히 지정합니다 (예: "SimilaritySearch")

- 저장 버튼(💾)을 클릭합니다

3. 스프레드시트에서 사용하기

4. 권한 설정 (이게 핵심)

- 함수를 처음 실행할 때 권한 요청 팝업이 나타납니다

- "권한 검토" 버튼을 클릭합니다

- Google 계정을 선택합니다

- "고급" > "안전하지 않은 프로젝트로 이동" > "허용" 을 차례로 클릭합니다

실제 데이터 예시를 보여드리면 더 이해하기 쉬울 것 같습니다:

결과 및 사용법

‎​< 함수 사용 예시와 설명 >

= GPTChat("API 키", "모델명(예시: gpt-4o-mini", "온도(예시: 0~1사이), Top P (예시: 0~1), "음답시 사용할 최대 토큰량(모델별 최대치가 다름: 4096", "시스템프롬프트", "사용자 입력 내용")

= GPTEmbedding("API 키", "벡터화할 텍스트", "임베딩 모델명(예시:text-embedding-3-small", "벡터수가 많아 엑셀 입력 불가로 100이하로 입력 권장") ㄴ 임베딩 모델은 고유 벡터의 차원수를 반환합니다. openai 의 모델은 1536 차원이나 엑셀은 이 값을 셀에 입력할 수 없기 때문에 앞에서부터 지정한 숫자까지만 사용 합니다. 현재 100개 ㄴ 100이상 사용시 오류가 발생할 가능성이 높습니다.

= TopKSimilarEmbeddings("사용자 입력한 텍스트의 벡터", "검색 대상 범위", "최상위 검색 대상 개수") ㄴ사용자의 질문 벡터를 이용해서 벡터DB에서 코사인 유사성을 측정하여 가까운 지정한 개수 만큼 반환합니다. ㄴ "검색 대상 범위"는 반드시 3개의 열을 범위로 하여야 합니다. (index 번호, text, Vector) 이며 본 워크시트의 범위를 그대로 활용하는것 권장합니다. ㄴ 차원수가 다른 경우 (여기서는 100개) 오류를 발생합니다.

주의사항 - API 키가 노출 또는 유출 되지 않게 주의하세요. 큰 비용 부담이 발생합니다. - 본 워크시트의 함수는 갱신시 매번 실행이 되어 비용을 발생 시킵니다. 사용에 주의하시기 바랍니다. - PC의 성능에 따라 매우 느리거나 다수 함수의 사용시 메모리 초과로 엑셀 또는 PC 크래시 현상이 일어날 수 있습니다. - 본 워크시트는 상시 사용을 위한 함수가 아닌 개념 이해만을 위해 만들어 졌기 때문에 의도하지 않는 사용 방향은 오류를 발생 시킬 수 있습니다.

3
2개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요