Promptwright는 로컬 LLM을 사용하여 대규모 합성 데이터 세트를 생성하도록 설계된 Stacklok의 Python 라이브러리입니다. 라이브러리는 유연하고 사용하기 쉬운 인터페이스 세트를 제공하여 사용자가 즉각적인 합성 데이터 세트를 생성할 수 있도록 해줍니다.
Promptwright는 redotvideo/pluto에서 영감을 얻었습니다. 실제로 포크로 시작했지만 비용이 엄청나게 비쌀 수 있는 OpenAI와 달리 로컬 LLM 모델에 대한 데이터 세트 생성을 허용하기 위해 largley를 다시 작성하게 되었습니다.
라이브러리는 Ollama와 인터페이스하므로 모델을 가져와 Promptwright를 쉽게 실행할 수 있습니다.
로컬 LLM 클라이언트 통합 : Ollama 기반 모델과 상호 작용
구성 가능한 지침 및 프롬프트 : 맞춤형 지침 및 시스템 프롬프트 정의
Push to Hugging Face : 생성된 데이터세트를 Hugging Face Hub로 푸시합니다.
파이썬 3.11+
promptwright
라이브러리 설치됨
Ollama CLI가 설치되어 실행 중입니다(Ollama 설치 참조).
Ollama를 통해 가져온 모델(모델 호환성 참조)
필수 구성 요소를 설치하려면 다음 명령을 사용할 수 있습니다.
pip 설치 프롬프트 작성자 올라마 서브 ollama pull {model_name} # 사용하고 싶은 모델
examples
디렉토리에는 라이브러리를 사용하여 다양한 주제 기반 데이터세트를 생성하는 방법을 보여주는 몇 가지 예제가 있습니다.
예시를 실행하려면 다음 안내를 따르세요.
ollama serve
실행하여 Ollama를 시작했는지 확인하세요.
필요한 모델이 다운로드되었는지 확인하세요(예: llama3.2:latest
).
선택한 예제 파일의 model_name
다운로드한 모델로 설정합니다.
engine = LocalDataEngine( args=LocalEngineArguments(instructions="창의적인 글쓰기 프롬프트와 예시 응답을 생성하세요.", system_prompt="귀하는 글쓰기 프롬프트와 예제 응답을 제공하는 창의적 글쓰기 강사입니다.", model_name="llama3.2:latest", 온도 =0.9, # 더 창의적인 변형을 위해 더 높은 온도 max_retries=2,
선택한 예제 파일을 실행합니다.
파이썬 예제/creative_writing.py
생성된 데이터 세트는 JSONL 파일에 dataset.save()
내에 설정된 값으로 저장됩니다.
{ "메시지": [ { "role": "시스템", "content": "당신은 사용자를 환상적인 경이의 세계로 안내하는 몰입형 가상 현실 경험을 디자인하는 임무를 맡고 있습니다." }, { "role": "user", "content": "숨겨진 재능을 발견한 캐릭터에 대한 설명 구절을 만드세요." }, { "role": "도우미", "content": "캔버스를 응시하는 동안 Emma의 손가락은 마치 자신 안에 갇혀 있던 색상을 풀어내기를 주저하는 것처럼 붓 위에 맴돌았습니다. 획은 대담하게 시작되어 소용돌이치며 시작되었습니다. 파란색과 녹색이 빛과 그림자의 매혹적인 춤으로 합쳐졌습니다. 매 순간 그녀는 자신이 예술이 되는 것을 느꼈습니다. 그녀의 본질은 봄 폭풍 속의 수채화처럼 캔버스에 스며들었고, 생생한 것만 남았습니다. 색과 창조의 교향곡." } ] }
Dataset : 생성된 데이터셋을 관리하는 클래스입니다.
LocalDataEngine : LLM 클라이언트와의 상호 작용 및 데이터 세트 생성을 담당하는 기본 엔진입니다.
LocalEngineArguments : 데이터 생성에 사용되는 지침, 시스템 프롬프트, 모델 이름 온도, 재시도 및 프롬프트 템플릿을 정의하는 구성 클래스입니다.
OllamaClient : Ollama API와 상호작용하기 위한 클라이언트 클래스
HFUploader : Hugging Face에 데이터 세트를 업로드하기 위한 유틸리티 클래스입니다(데이터 세트 및 토큰 경로 전달).
스크립트를 실행하는 동안 오류가 발생하는 경우 다음은 몇 가지 일반적인 문제 해결 단계입니다.
올라마 다시 시작하기 :
킬올 올라마 && 올라마 서브
모델 설치 확인 :
올라마 풀 {model_name}
Ollama 로그 확인 :
무엇이 잘못되었는지에 대한 추가 컨텍스트를 제공할 수 있는 오류 메시지가 있는지 로그를 검사하세요. 해당 메시지는 ~/.ollama/logs
디렉터리에서 찾을 수 있습니다.
라이브러리는 대부분의 LLM 모델에서 작동합니다. 지금까지 다음 모델로 테스트되었습니다.
LLaMA3 : 라이브러리는 LLaMA 모델, 특히 llama3:latest
모델과 함께 작동하도록 설계되었습니다.
Mistral : 이 라이브러리는 GPT-3 모델의 포크인 Mistral 모델과 호환됩니다.
더 이상 테스트할 경우 풀 요청을 통해 이 목록을 업데이트하세요!
여기에서 개선할 수 있는 부분이 있으면 문제를 열거나 끌어오기 요청을 제출하세요.
이 프로젝트는 Apache 2 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE
파일을 참조하세요.