Gemini-Coder는 Google Gemini용 코드 생성기 이자 코드 해석기 입니다.??? 이제 Google에서 제공하는 공식 Gemini API를 사용하므로 안전하게 사용할 수 있습니다. ?️ 이 애플리케이션은 Google Bard와 상호 작용하고 코딩 목적에 맞게 결과를 구체화합니다. 이것의 주요 목적은 연구를 위한 것입니까? 그리고 교육적인가 ? 목적. 이는 데이터 분석 및 프로그래머 에게 매우 유용할 수 있습니다.
AutoBard-Coder를 설정하려면 streamlit
및 bardapi
종속성을 설치해야 합니다.
또한 https://bard.google.com/을 방문하여 Bard API로 인증해야 합니다.
- F12로 콘솔 열기
- 애플리케이션 → 쿠키 로 이동하여 __Secure-1PSID 쿠키 값을 복사합니다.
- 그런 다음 다음 명령을 실행하여 로컬 환경 에 키를 설정할 수 있습니다.
export _BARD_API_KEY=<__Secure-1PSID value>
BARD_API_KEY
앞의 _
중요하다는 것을 기억하세요.
1단계: Google Palm API 키를 얻습니다.
2단계: 다음 URL을 방문하세요: https://makersuite.google.com/app/apikey
3단계: API 키 생성 버튼을 클릭하세요.
4단계: 생성된 키는 API 키입니다. 반드시 복사 하여 아래 필수 입력란에 붙여넣어 주세요.
참고: API 키는 AutoBard-Coder의 기능에 매우 중요합니다. 안전하게 보관하시고 누구와도 공유하지 마세요.
이 애플리케이션에는 3가지 구성 요소가 있습니다.
Geminioder : Gemini 응답에서 코드를 자동으로 생성하고 코딩 목적에 맞게 개선하는 Gemini의 코딩 도우미입니다. 이는 개발자가 도움이 필요할 때 Gemini로부터 올바른 코드를 얻기 위해 사용할 수 있습니다. 올바른 코드를 제공하기 위해 출력이 여러 번 정제되고 수정되기 때문입니다.
파일: bardcoder.py
Code Interpreter : Geminicoder에서 생성된 코드를 실행하는 데 사용할 수 있는 Gemini용 인터프리터입니다. 이는 Gemini를 사용하여 데이터 분석 및 기계 학습을 수행하려는 모든 사용자에게 매우 유용할 수 있습니다. 이는 Gemini 응답에서 그래프와 차트를 생성할 수 있으며 데이터 분석에 사용될 수 있습니다.
파일: Geminicode_interpreter.py
GeminiCoder Lib : 음유시인 응답에서 코드를 생성하고 코딩 목적에 맞게 다듬는 데 사용할 수 있는 Geminicoder용 라이브러리입니다. Gemini를 사용하여 자신만의 애플리케이션을 구축하는 데 사용할 수 있습니다.
파일: bardcoder_lib.py
GeminiCoder를 사용하려면 다음 명령을 실행해야 합니다: python bardcoder.py
그러면 터미널에서 GeminiCoder UI가 열립니다. 그리고 Gemini에 대한 프롬프트를 입력하라는 메시지가 표시됩니다.
이는 로컬 환경에서 이미 API KEY
설정했다고 가정하지 않습니다. 아직 설정하지 않은 경우 설정 과정을 참조하세요. 생성된 코드는 codes
폴더에 배치되고 응답은 response
폴더에 배치됩니다.
코드 해석기를 사용하려면 다음 명령을 실행해야 합니다.
streamlit run bardcode_interpreter.py
CORS 헤더를 비활성화해야 하는 경우 다음 명령을 실행할 수 있습니다.
streamlit run bardcode_interpreter.py --server.enableCORS false --server.enableXsrfProtection false
그러면 웹 브라우저에서 코드 해석기 UI가 열립니다. 그리고 음유시인에 대한 프롬프트를 입력하라는 메시지가 표시됩니다.
이제 이는 로컬 환경에 이미 API KEY
설정했다고 가정합니다. 아직 설정하지 않은 경우 설정 과정을 참조하세요. UI 설정에서 API KEY
설정할 수도 있습니다.
메시지를 표시하기 전에 파일 이름 , 파일 경로 및 기타 설정을 변경하는 옵션을 확인해야 합니다.
옵션 에서 Upload Data
설정하여 데이터 분석을 위한 데이터를 업로드할 수 있습니다. (현재는 텍스트 파일만 지원합니다.)
파일을 업로드한 후 Gemini에 메시지를 요청할 수 있습니다. 그러면 다음과 같은 출력을 얻게 됩니다.
생성된 코드의 정확도를 얻기 위해 옵션 에서 Expected Output
설정할 수도 있습니다.
그리고 생성된 코드의 정확성을 강조하여 이와 같이 출력이 생성됩니다.
ShareGPT 기능을 사용하여 다른 사람과 코드를 공유할 수 있습니다. 귀하의 코드에 대한 공유 가능한 링크가 제공됩니다.
코드 해석기 데모
생성된 코드는 codes
폴더에, 응답은 response
폴더에, 업로드 파일은 uploads
폴더에 배치됩니다.
이제 코드 해석기 에 안전 조치가 내장되어 있으며 이제 생성된 코드의 안전을 감지하고 수정할 수 있습니다.
이제 모든 저장소와 코드가 READ_ONLY 모드에 있습니다. 그리고 READ_ONLY 모드에서만 코드를 실행할 수 있습니다.
READ_ONLY 모드에서는 파일 변경, 이동, 삭제, 이름 바꾸기 등 의 모든 명령이 비활성화됩니다.
이는 고급 안전 조치를 갖추고 있으며 생성된 코드의 안전성을 감지하고 수정할 수 있습니다.
데이터 시각화를 위한 그래프 및 차트 출력을 얻으려면 python 패키지 matplotlib
, seaborn
, cartopy
, plotnine
등을 설치합니다. 그리고 다음 명령을 실행하세요:
python bardcode_interpreter.py
그리고 Gemini에게 메시지를 요청하세요. 그러면 다음과 같은 출력이 표시됩니다. 예제 프롬프트:
In Python write me program to. 1.Read the data from file called 'employees.json' 2.Count no. of Males and Females in file. 4.Draw PIE graph of these in using Python Matplotlib. 5.Show me that output.
그러면 다음과 같은 출력을 얻게 됩니다.
이 애플리케이션은 Gemini API를 사용하여 Gemini와 상호 작용하고 코딩 목적에 맞게 결과를 구체화합니다. 생성된 모든 데이터는 다음 디렉터리에 저장됩니다.
response
: 이 디렉토리에는 Gemini의 모든 응답이 포함되어 있습니다.
codes
: 이 디렉터리에는 Gemini에서 생성된 모든 코드가 포함되어 있습니다.
uploads
: 이 디렉토리에는 Gemini에 업로드되는 모든 데이터가 포함되어 있습니다.
lib
: 이 디렉토리에는 Geminicoder의 모든 라이브러리가 포함되어 있습니다.
resources
: 이 디렉토리에는 Geminicoder의 모든 리소스가 포함되어 있습니다.
Gemini-Coder의 일부 기능은 다음과 같습니다.
Gemini 응답에서 자동 코드 생성
코딩 목적을 위한 코드 개선
자체 코드를 수정/디버깅 하는 기능
Gemini에서 단일 또는 다중 응답을 생성하는 기능
응답을 저장 하고 로컬에서 실행하는 기능
코드 해석을 위해 로컬 파일 에 액세스하는 기능
데이터 분석 및 머신러닝 기능
Gemini 응답에서 그래프 및 차트 생성
데이터 분석 및 기계 학습을 위한 파일을 업로드하는 기능.
ShareGPT 를 통해 다른 사람들과 코드를 공유하세요.
생성된 코드의 안전성을 감지하는 고급 안전 조치입니다 .
이제 애플리케이션에서 직접 도움을 받을 수 있습니다. UI에서 도움말 버튼을 클릭하면 도움을 받을 수 있습니다.
이 프로젝트의 모든 주목할만한 변경 사항은 이 파일에 문서화됩니다.
변경 로그
버전 | 날짜 | 추가됨 | 결정된 |
---|---|---|---|
1.4 | 2023-09-28 | - 이제 Palm 2 공식 API가 추가되었습니다. | - 설정, 로그 및 버그 수정 |
1.3 | 2023-05-29 | - 완전히 새로운 UI 와 UX 로 업데이트되었습니다 . ? - 코드 확인 및 프롬프트 확인을 위한 보안이 업데이트되었습니다. - 새로운 도움말 섹션을 추가했습니다. ? | - API 키 문제를 수정했습니다. |
1.2 | 2023-05-28 | - 코드 및 프롬프트 확인을 위한 고급 보안. - 그래프, 차트, 표를 지원합니다. - 데이터 과학을 위한 더 많은 라이브러리. ? | |
1.1 | 2023-05-27 | - 파일 업로드 옵션. ? - API 키 설정. ? | - 서버에서 오류 처리 중입니다. ? |
1.0 | 2023-05-26 | - 자동 바코드 생성기. ? - 자동 바코드 해석기. ? |
Gemini-Coder는 HeavenHM에서 제작되었으며 MIT 라이선스에 따라 라이선스가 부여됩니다.