1.StrOutputParserLangChain에서 문자열 출력을 특정 형식으로 파싱하는 역할을 하는 클래스 2.PydanticOutputParserPydantic 모델을 사용하여 언어 모델의 출력을 처리하는 데 사용출력된 데이터가 정확한 형식인지 자동으로 검증합니다. class EmailSummary(BaseModel): person: str = Field(description="메일을 보낸 사람") email: str = Field(description="메일을 보낸 사람의 이메일 주소") subject: str = Field(description="메일 제목") summary: str = Field(description="메일 본문을 요약한 텍스트") d..
분류 전체보기
1.Github License ?GitHub 라이선스는 오픈 소스 프로젝트에서 사용하는 소프트웨어 라이선스를 선택하고 명시하는 데 사용된다. 2.MIT License가장 널리 사용되는 오픈 소스 소프트웨어 라이선스 중 하나로,MIT 라이선스는 다음과 같은 내용을 담고있다.누구나 소프트웨어를 무료로 사용, 복사, 수정, 병합, 배포, 출판할 수있고, 상업적인 용도로도 사용가능하다.소프트웨어를 사용하는 경우, 원래의 저작권 고지와 라이선스 사본을 소스 코드에 포함해야하고,소프트웨어는 "있는 그대로"(as-is) 제공되며, 사용 중 발생하는 문제나 손해에 대해 개발자가 책임지지 않는다.Copyright (c) [YEAR] [AUTHOR]Permission is hereby granted, free of..
0.개요기존 gradio API를 사용하던 Applio를 업데이트 하니 API 사용이 사라졌다.... 이게 무슨일인가싶어서 Github 이슈에 들어가서 확인해보았다. 아이고... 확인해보니 더이상 제공하지않고 답변을 확인해보니 core.py에 있는 요소들을 사용해서 직접 서버를 구축해야될거같다. 1.FASTAPI 구축하기Core.py를 살펴본 결과 다음 메소드가 내가 원하는 텍스트를 wav 파일로 TTS 해주는 메소드임을 확인하였다. 그래서 main.py를 따로 생성하여 FASTAPI 서버를 구축하여 /tts 경로로 엔드포인트를 생성해줬다.from fastapi import FastAPI, Formfrom typing import Optionalimport osfrom core import..
구버전 글입니다. 0.개요지난번 유튜브에서 본 VoiceVox로 TTS챗봇을 만들기를 해봤는데 여기서 TTS부분을 RVC 모델을 사용한것으로 바꾸기 하였다.https://asa9874.tistory.com/576 [Python] langchain + VoceVox 로 tts 챗봇 만들기0.개요유튜브를 돌아다니다가 한 영상을 접하게 되었다.How to Make Your Own AI Waifu Virtual VTUBER or Assistant (당신만의 AI 버튜버나 Assistant를 만드세요) 최근 LangChain을 배우고 있는 도중이라 보던asa9874.tistory.com 1.RVC(Retrieval-based Voice Conversion)음성 변환 기술의 한 종류이다.음성 데..
0.개요유튜브를 돌아다니다가 한 영상을 접하게 되었다.How to Make Your Own AI Waifu Virtual VTUBER or Assistant (당신만의 AI 버튜버나 Assistant를 만드세요) 최근 LangChain을 배우고 있는 도중이라 보던중 흥미로운 부분을 발견하였다.TTS 부분을 VoiceVox 프로그램을 통해 해결하고있었다. VoiceVox는 일본 TTS를 지원하는 무료 프로그램인데 찾아보니 내부적으로 로컬 서버가 하나 열리고 그곳에서 처리하는것을 알게되었다.그러면 해당 코드를 참고하여 한번 코드를 만들어보자https://voicevox.hiroshiba.jp/ 1.코드우선 나는 돈이 없기때문에 ChatGPT API 대신 Ollama로 LLama 3...
0.퓨샷(Few-shot) 프롬프팅작은 수의 예시(샷)를 통해 특정 작업을 학습하도록 돕는 방식모델이 이전에 본 예시를 바탕으로 새로운 문제를 해결할 수 있도록 하는 기술이다. 1.FewShotPromptTemplateFewShot을 LangChain에서 사용할수있게 해준다.# fewshot 템플릿prompt = FewShotPromptTemplate( examples=examples1, example_prompt=example_prompt, suffix="Question:\n{question}\nAnswer:", input_variables=["question"],) 1-1.examples모델에게 특정 작업을 이해시키기 위해 제공하는 예시들examples1 = [ {"qu..
1.input_variables 유효성 검사를 위해 입력 변수를 지정한다.(불일치하는 경우 예외를 발생)prompt = PromptTemplate( template=template, input_variables=["country"],) 2.partial_variablespartial_variables을 통해 다음처럼 invoke 호출 시 입력되지 않고 미리 설정된 값인 "미국"이 country2에 입력되게할수있다.(기본값 설)template = """{country}과 {country2}의 수도는 어디입니까?"""prompt = PromptTemplate( template=template, input_variables=["country"], partial_variables=..
1. Runnable 인터페이스Runnable은 데이터를 입력받아 특정 작업을 수행한 후 결과를 반환하는 추상적인 인터페이스다.LangChain의 파이프라인 작업에서 데이터 흐름과 처리를 표준화하기 위해 사용된다.Chain은 Runnable 객체를 연결하여 작업을 순차적으로 처리한다. #runnable 구현체들을 연결함chain = prompt | llm | StrOutputParser() 1-1.RunnablePassthrough()입력 데이터에 대해 아무런 변경 없이 그대로 출력하는 단순히 데이터를 흐르게 하는 중간 연결점 역할을 수행한다.from langchain_core.runnables import RunnablePassthrough# 들어간 데이터를 그대로 반환하는 RunnablePas..