목록Python (10)
가수면
LLM 기본 원리몇 개의 단어가 차례로 모인 것을 문장이라고 한다.이 특성대로 다음에 올 단어들 중 가장 확률이 높은 단어를 선택하는 방식을 통해 차례대로 단어를 배치함 (다음 단어가 무엇인지 추측)자동 완성 기능과 유사한 방식이다. (lang을 검색하면 chain이 자동 완성 목록에 뜨는 식)프롬프트의 구성 요소1. 명령어어떤 작업을 수행해야하는지ex) 번역2. contextAI 모델이 작업을 더 잘 이해하고 더 정확한 응답을 생성하는 데 도움이 되는 추가 정보context 제공를 통해 ai 결과값(성능)을 크게 향상시킬 수 있음ex) 대화 상황, 맥락 등3. 입력 데이터AI 모델이 처리해야할 정보ex) 번역해야할 문장4. 출력 표시기기대하는 응답 형태명령어에 포함되어 있는 경우도 있음ex) 출력 포맷..
다수의 문서 등 대량의 데이터를 프롬프트로 전달해야할 경우 토큰 처리map reduce chain랭체인 예시)chain = load_summarize_chain(llm, chain_type="map_reduce")1. 여러 문서에 대해 각각의 문서를 요약하는 요청을 병렬 처리2. 각각의 요약 결과들을 하나로 모아서 재요약 요청단점:1. 요청이 많아지니 비용문제 발생2. 정보 손실 refine chain문서를 하나 하나 중첩 요약해가며 정보의 정확성을 높이는 방법랭체인 예시) chain = load_summarize_chain(llm, chian_type="refine")1. '빈 값 + 첫 문서' 요약2. '1번 요약 + 두 번째 문서' 요약3. '2번 요약 + 세 번째 문서' 요약...대화 세션 유지를..
구현 방법구현 방식의 기본 개념 및 필요 요소들은 다음과 같다. 1. tool로 사용할 함수를 정의한다. 이때, 함수명과 설명을 잘 적는 것이 중요하다.예시)def get_text_length(text: str) -> int: """Returns the length of a text by characters"""2. 에이전트 프로세스를 실행시킬 프롬프트를 작성한다. 2-1. 이때 프롬프트에는 tool의 이름/설명과 tool 목록을 전달하여 LLM이 선택할 수 있도록 한다. 2-1. 최종 프롬프트의 주요 구성 사항은 다음과 같다. tools 제시 및 설명포맷 지정 명령Question: 사용자의 질문Thought: 에이전트가 무엇을 할지Action: 특정 작업을 수행 지시 (알맞은 tool 고르기)A..
langchain 로더 - https://github.com/langchain-ai/langchain/tree/master/libs/langchain/langchain/document_loaders langchain/libs/langchain/langchain/document_loaders at master · langchain-ai/langchain🦜🔗 Build context-aware reasoning applications. Contribute to langchain-ai/langchain development by creating an account on GitHub.github.comText Splitter - llm의 경우 한번에 보낼 수 있는 토큰 제한이 있어 큰 텍스트를 청크로 나누는..
LLM 애플리케이션 기본 구현 방식from langchain.prompts.prompt import PromptTemplatefrom langchain_openai import ChatOpenAIfrom langchain_core.output_parsers import StrOutputParserfrom third_parties.linkedin import scrape_linkedin_profilesummary_template = """링크드인의 유저 정보를 줄테니 아래 요구사항에 맞춰 답변을 생성해주세요.1. 짧은 요약2. 흥미로운 사실 2가지{information}"""summary_prompt_template = PromptTemplate( input_variables=["information..
덱(deque)from collections import deque 양쪽 끝에서 아이템을 추가하거나 삭제할 수 있는 양방향 큐append(x): 오른쪽 끝에 아이템 x를 추가합니다.appendleft(x): 왼쪽 끝에 아이템 x를 추가합니다.pop(): 오른쪽 끝의 아이템을 제거하고 반환합니다.popleft(): 왼쪽 끝의 아이템을 제거하고 반환합니다.extend(iterable): 오른쪽 끝에 주어진 iterable의 모든 아이템을 추가합니다.extendleft(iterable): 왼쪽 끝에 주어진 iterable의 모든 아이템을 역순으로 추가합니다.힙큐(heapq)import heapq heapq는 일반적인 리스트를 최소 힙, 최대 힙처럼 사용할 수 있게 해줌우선순위 큐와 최소값, 최대값을 구할 때 ..
반복문 한 줄로 표기list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]test = [i for i in list]test// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]test = [ 0 for index in range(6)] // test = [0] * 6test// [0, 0, 0, 0, 0, 0] 반복문과 조건문 합쳐서 사용하기if node in visited // visited에 node가 있으면if node not in visited // visited에 node가 없으면 comprehension [i for i in mylist (조건문)]list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]test = [i for i in list i..
-자바스크립트 코드들- *홈페이지 로딩 후 실행* $(document).ready(function () { listing(); }); *반복 함수*let star_image = '⭐'.repeat(star)star만큼 반복 -python 문법- · 파이썬은 let 붙일 필요 없음· 파이썬은 중괄호 필요 없음. : 찍고 탭(탭 해서 들여 쓴 것들이 내용물) *python 리스트 추가*a_list = []a_list.append(1) # 리스트에 값을 넣는다a_list.append([2,3]) # 리스트에 [2,3]이라는 리스트를 다시 넣는다 *크롤링(홈페이지에서 html 가져오기) 기본 세팅*import requestsfrom bs4 import BeautifulSouph..
-Flask-*경로 만들기 (구조)*static 폴더 (이미지, css파일을 넣어둡니다.)templates 폴더 (html 파일을 넣어둡니다.)*파일 만들기*app.pyindex.html (templates 폴더)*패키지 설치*flaskpymongodnspython(크롤링이 필요하다면 requests와 bs4도 설치) *연습*'응원 남기기' 버튼을 누르면 그 결과를 서버에 저장하고 밑에 댓글로 나타내기 1. POST방식(서버에 저장) 설정아래의 클라우드(mongo DB) pymongo 패키지 양식을 app.py상단에 붙이기from pymongo import MongoClientclient = MongoClient('mongodb+srv://test:@cluster0.q4umm5t.mongodb.net/?..
-파이썬- 우클릭 후 실행 권장(상단의 실행이나 실행창의 실행 버튼을 누를 경우 다른 파일이 실행될 수가 있음) *문자열 더하기* a = 2 b = 1 print(a+b) 3 a = 'jihyeon' b = 'choi' print(a+b) jihyeonchoi *리스트* a_list = ['사과','배','감'] print(a_list[0]) 사과.index(값)값에 해당하는 index를 반환. 시간복잡도 n *자바스크립트, 파이썬 리스트 추가* a_list = ['사과','배','감'] a_list.append('수박') 자바스크립트에선 .push print(a_list) ['사과', '배', '감', '수박'] .extend()append는 하나로 추가하는데 extend는 전부를 추가함a = ['Ti..