본문 바로가기

Gemini 작업7

문서 처리 시스템 어떤 사이트들 보면 챗봇이 있어서 그 서비스에 대한것만 질문,응답을 해준다.일단 하는방법은 동영상 분석할때랑 똑같다. 문서 처리 공식 문서문서 내용만 답변하도록 참고 공식 문서 1. Gemini Api로 문서 업로드smash_cloud = "/Users/seok/Downloads/smash_cloud.pdf"doc_file = genai.upload_file(path=smash_cloud)while doc_file.state.name == "PROCESSING": app.logger.info('Waiting for video to be processed.') time.sleep(2) doc_file = genai.get_file(doc_file.name) response = mode.. 2024. 8. 23.
히스토리,컨택스트 캐싱 이용하면서 히스토리 적용 1. 히스토리만 적용 (히스토리를 자동으로 관리 해주는 방식)일단 히스토리 적용 안하는이상 GEMINI는 사용자가 이전 질문한것들은 기억 못하고 오직 새질문만 받고 답한다.예를들어 처음 질문 "이 코드를 만들어 줘봐" 하고 응답 받고 그 다음 질문 "아까 만들어준 코드에서 이 기능도 추가해줘봐" 할시 GEMINI는 이전에 대한 질문,응답을 기억 못하니 "죄송합니다,전에 답변한 코드에 대한 정보가 없습니다" 이런식으로 답변한다.그러므로 이전 질문,응답에 대한 정보를 포함해서 새질문을 요청해야한다.#multi_turn1.pyimport google.generativeai as genai model = genai.GenerativeModel('gemini-1.5-flash')chat_session = mode.. 2024. 8. 8.
이미지,동영상을 서버에 저장 안하고 바로 Gemini요청하기 클라가 이미지 업로드후 서버한테 요청할때 원래는 서버에 저장하고 Gemini한테 요청 했는데 이제 저장안하고 요청하고 클라한테 반환할때도 메모리에 임시 저장중인거를 반환한다.from flask import Flask, request, render_templateimport google.generativeai as genaifrom PIL import Imageimport base64@app.route('/submit', methods=['POST'])def gemini_question(): question = request.form['question'] # 파일 저장 경로 설정 # request.files['image']는 FileStorage 객체에 접근이고 실제로 읽으려면 read().. 2024. 7. 24.
파이썬 파일 SHA256해시 클라에서 요청할때마다 영상이 동일하면 캐싱하고 아니면 업로드하는데일단 이전 요청 동영상이랑 이후 요청 동영상이랑 동일한지 판별하려면 해싱후 하는방법이 있다.근데 영상의 제목으로만 하면 당연히 같은 영상인데 제목만 같을 수 도 있으니 파일 자체 읽어 해싱을 한다. def generate_file_hash(file_path): """파일의 SHA256 해시를 생성합니다.""" sha256_hash = hashlib.sha256() with open(file_path, "rb") as f: for byte_block in iter(lambda: f.read(4096), b""): sha256_hash.update(byte_bl.. 2024. 7. 23.
Flask,Gemini 에러 or 호환 관련 1)urllib3 라이브러리가 현재 사용 중인 SSL 라이브러리 버전과 호환되지 않음을 경고해서 urllib3 다운그레이드 하거나 OpenSSL 업그레이드한다.*urllib3 다운그레이드pip install urllib3==1.26.15#현재 설치된 버전 보기pip show urllib3#다시 되돌릴 경우(최신버전)pip install --upgrade urllib3#원하는 버전(예를들어 2.0.0 경우)pip install urllib3==2.0.0 *OpenSSL 업그레이드brew updatebrew install opensslbrew upgrade openssl 2024. 7. 19.
Flask,Gemini Flask 설치: 터미널에서 다음 명령어를 입력하여 Flask를 설치합니다pip install Flask app.py파일 생성후(이름은 자유이나 flask이름으로 하는것만 피하면 될듯)from flask import Flaskapp = Flask(__name__)@app.route('/about')def about(): return 'The about page'if __name__ == '__main__': app.run(debug=True) # 괄호안 host="현재 연결중인 네트워크ip주소" 적으면 현재 네트워크 사용중인 기기 모두 사용가능 이제 Gemini를 이용하려면 패키지 설치pip install google-generativeai Gemini 테스트로 json말고 text .. 2024. 7. 18.
파이썬 가상환경 맥북에 파이참을 깔고 장고 프로젝트 실행해보려했는데 장고 레스트 프레임워크나 다른 라이브러리등이 안깔려서 깔아야하는데 해당 프로젝트용 가상환경 만들고 이 프로젝트 전용 버전에 맞는 라이브러리들을 가상환경에서 관리하는거를 한다. 이렇게 프로젝트별 각자 다른 가상환경을 이용해야 서로 다른 프로젝트간의 라이브러리 버전등 충돌이 안일어난다만약 A,B,C프로젝트 있는데 A는 옛날 프로젝트, B,C는 최신 프로젝트일경우 이 3개가 같은 가상환경 공유해서 사용하고 라이브러리가 최신버전일경우 B,C는 최신이라 동작하나 A프로젝트는 옛날 프로젝트니 오류가 나고 동작 안할수도 있다.그래서 각 프로젝트마다 가상환경 생성하고 한다. 밑에는 예를들어 envA라는 이름 가상환경으로 하는거다.터미널로 해당 프로젝트 위치로 이동후c.. 2024. 7. 18.