LLM Flow는 분리 된 AI 사용 사례 (AI 기능)를 정의하고 프롬프트 구현, 신속한 품질 평가 및 개선 및 API를 자체 애플리케이션에 통합하기 위해 AI 개발 프로세스를 촉진하도록 설계된 웹 도구입니다.
기능 탐색»
(뒤로 맨 위로)
(뒤로 맨 위로)
이 프로젝트는 세 가지 서비스로 나뉩니다. 모두 개별적으로 설정해야합니다.
server : Fastapi 백엔드promptfoo-server : promptfoo 실행하는 Express.js 백엔드client : Next.js Frontend(뒤로 맨 위로)
많은 노력없이 응용 프로그램을 실행하려면 Docker 설정을 사용하십시오. 지역 개발의 경우 로컬 설정을 참조하십시오.
전제 조건 :
설정 방법 :
server 및 client 의 경우 .env.docker 파일을 복사하고 이름을 바꾸어 각 루트 폴더에 .env.docker.template 파일을 만듭니다. promptfoo-server 의 경우 .env.template 파일에서 .env 파일을 만듭니다. 템플릿의 비밀을 자신의 것으로 교체하십시오.
루트 폴더 에서이 두 명령을 실행합니다.
docker compose build
docker compose up -d
client : http : // localhost : 3000/backend : http : // localhost : 4000/docs(뒤로 맨 위로)
전제 조건 :
다른 노드 버전을 사용할 수도 있습니다. 그러나 노드 22를 사용하여 설정 만 테스트했습니다.
설정 방법 :
세 서비스 모두. .env.template 파일을 복사하고 이름을 바꾸어 각 루트 폴더에 .env 파일을 만듭니다. 템플릿의 비밀을 자신의 비밀을 교체하십시오.
루트 폴더에서 실행 :
docker compose up mongo -d
backend 시작하십시오 backend 실행하려면 VS Code Debugger를 사용하여 backend 폴더에서 다음을 시작하거나 다음을 실행할 수 있습니다.
pipenv install
pipenv run python3.12 wsgi.py
promptfoo-server 시작하십시오 promptfoo-server 폴더 실행에서 :
npm install
npm run start
client : client 폴더에서 실행 :
npm install
npm run dev
client : http : // localhost : 3000/backend : http : // localhost : 4000/docs(뒤로 맨 위로)
프로젝트를 개발하려면 먼저 로컬 설정을 실행하십시오.
전제 조건 :
개발 중에 사용할 유용한 명령은 다음과 같습니다.
pre-commit run --all-files
sh generate_client_bindings.sh
client 폴더에서 실행 :
npm run lint
npm run pretty
(뒤로 맨 위로)
AI 기능은 자신의 비즈니스 로직과 LLM 제공 업체 간의 계약을 나타냅니다. 매개 변수 세트를 전달하고 구조화 된 출력을 반환합니다.
웹 인터페이스에서 AI 함수를 정의 할 수 있습니다. 귀하는 이름을 정의하고 설명을하고, 수락하는 매개 변수를 정의하고 사용할 수있는 제공자를 선택합니다.
또한 함수가 간단한 구조화되지 않은 문자열 응답 또는 구조화 된 JSON 응답을 반환하는지 정의합니다. 후자의 경우 JSON 스키마 편집기를 사용하여 복잡한 JSON 객체를 정의 할 수 있습니다.
AI 기능의 프롬프트의 품질을 평가하기 위해서는 주장 및 테스트 사례를 정의 할 수 있습니다. 주장은 예상 값이나 조건과 비교하는 데 사용됩니다. 이 기능은 후드 아래에서 Promptfoo를 사용합니다. 간단한 비교에서 복잡한 정규 패턴에 이르기까지 다양한 어설 션 유형이 있으며, 자체 정의 된 파이썬 또는 자바 스크립트 코드를 사용하는 것까지도 사용자 정의 및 잠재적으로 복잡한 어설 션 논리를 정의 할 수 있습니다.
테스트 사례는 AI 함수의 매개 변수에 대한 예제 데이터를 참조하십시오. 그들은 신속한 품질을 주장하는 데 필수적인 역할을합니다. 프롬프트를 정의한 후, AI 함수 내에 정의 된 어설 션으로 테스트 사례에 대해 평가됩니다. 단일 테스트 사례에만 적용되는 어설 션을 정의 할 수도 있습니다. AI 기능의 이름과 설명뿐만 아니라 이전에 정의 된 테스트 사례를 기반으로 AI를 생성하는 기능도 있습니다.
처음에는 제공된 예 중 하나에서 AI 함수를 만들 수 있습니다.
(뒤로 맨 위로)
LLM에서 유량 프롬프트는 AI 함수의 맥락에서 정의됩니다. 여기에는 신체에 각각의 AI 기능의 매개 변수를 포함해야하며 ITS 테스트 사례 및 주장에 대해 평가됩니다.
AI 기능하에 지정된 각 공급자에 대해 프롬프트가 평가됩니다. 이를 통해 다른 제공 업체에서 프롬프트의 품질을 비교할 수 있습니다. 평가 중에 세 가지 메트릭이 계산됩니다.
(뒤로 맨 위로)
프로젝트는 다양한 AI 기능을 호출 할 수있는 API를 만들 수있는 방법입니다. 웹 인터페이스에서는 클라이언트 자체에서 API를 테스트하는 데 사용할 수있는 각 프로젝트마다 사용자 정의 Swagger 문서가 생성됩니다. OpenAPI 사양을 내보내면 OpenAPI-Generator와 같은 코드 생성기를 사용하여 자신의 클라이언트 바인딩을 생성 할 수도 있습니다.
API 문서는 선택한 AI 함수의 이름, 설명 및 매개 변수로 자동으로 채워지며 정의 된 테스트 사례 중 하나를 예제로 포함합니다. 프로젝트 내의 각 AI 기능에는 자체 엔드 포인트가 할당됩니다.
이러한 방식으로 귀하는 자신의 애플리케이션에서 LLM 흐름에 정의 된 AI 기능을 통합 할 수 있습니다. 프로젝트가 만들어지면 엔드 포인트를 호출하기 위해 클라이언트를 실행할 필요는 없습니다. 다음은 프로젝트를 작성하고 사용하는 방법에 대한 데모입니다.
(뒤로 맨 위로)
이를 더 좋게 만드는 제안이 있다면, repo를 포크하고 풀 요청을 만듭니다. "Enhancement"태그에 문제를 열면 간단히 문제를 열 수도 있습니다. 프로젝트에 별을주는 것을 잊지 마십시오! 다시 한 번 감사드립니다!
git checkout -b feature/AmazingFeature )git commit -m 'Add some AmazingFeature' )git push origin feature/AmazingFeature(뒤로 맨 위로)
MIT 라이센스에 따라 배포됩니다. 자세한 내용은 LICENSE.txt 참조하십시오.
(뒤로 맨 위로)
Amir Mohammad- [email protected]
프로젝트 링크 : https://github.com/amir-mo1999/llmflow
(뒤로 맨 위로)