Amazon Bedrock에서 모델을 호출하는 깔끔한 방법입니다. Rust로 작성되었으며 Twitch에서 라이브로 방송됩니다.
0.8.2의 새로운 기능 - 베타: 이제 채팅을 HTML 파일로 내보낼 수 있습니다. (현재 디렉터리에
conversation.html
로만 저장됩니다.)
현재 다음 모델을 지원합니다:
클로드 3.5 v2 소네트
클로드 3.5 하이쿠
클로드 3.5 소네트
클로드 V2
클로드 V3 소네트
클로드 V3 하이쿠
라마2 70B
LLama3.1 모델
코히어 커맨드
쥬라기 2 울트라
타이탄 텍스트 익스프레스 V1
Mistral AI 모델(Mixtral, Mistral7b 및 Mistral Large 1 및 2)
이 기능을 사용하려면 다음 몇 가지 작업을 수행해야 합니다.
Amazon Bedrock과 상호 작용하려면 Bedrust 가 실행될 머신에 AWS 자격 증명 세트가 있어야 합니다. 이 설정을 수행하는 가장 쉬운 방법은 AWS CLI를 구성하는 것입니다. AWS CLI를 설치하고 aws configure
명령을 실행하여 자격 증명을 설정하십시오.
AWS 자격 증명이 올바르게 설정되었는지 확인하려면 aws sts get-caller-identity
실행할 수 있습니다.
darko@devbox [~/workspace/projects/bedrust]: aws sts get-caller-identity {"UserId": "AIDAXXXXXXXXXXXXXXXXXX5","계정": "123456789999999","Arn": "arn:aws:iam::123456789999999:user/alan-ford"}
아, 예, 구성한 자격 증명의 사용자에게 Amazon Bedrock의 InvokeModel
에 대한 권한이 있는지 확인하세요.
글쎄요, 이것은 Rust 애플리케이션입니다. 시작하는 가장 쉬운 방법은 Rustup을 사용하는 것입니다.
이제 bedrust 를 컴파일하려면 몇 가지 추가 패키지가 필요합니다. 즉 build-essential
(또는 유사한) 패키지 그룹이 필요합니다. 운영 체제 및 패키지 관리자에 따라 이름이 다를 수 있습니다.
우분투/데비안:
sudo apt install build-essential
아치 리눅스:
sudo pacman -S base-devel
맥OS:
xcode-select --install
Amazon Linux/Red Hat/CentOS:
yum groupinstall "Development Tools"
애플리케이션을 로컬로 설치하려면 다음을 실행하세요.
cargo install bedrust
그러면 컴파일된 바이너리가 $CARGO_HOME/bin
디렉터리에 설치됩니다. $PATH
올바르게 설정했다면 지금 실행할 수 있습니다. 하지만 그러기 전에...
구성을 초기화해 보겠습니다. bedrust는 구성 파일( bedrust_config.ron
)을 사용하기 때문에 이 파일(다른 리소스와 함께)을 $HOME/.config/bedrust
디렉터리에 저장해야 합니다. 이제 이 작업을 수동으로 수행할 수 있지만 이를 수행할 수 있는 기능이 있습니다. 그냥 실행하세요:
bedrust --init
기본 모델을 선택하라는 메시지가 표시됩니다. 그러면 bedrust를 사용하는 데 필요한 모든 파일이 생성됩니다. 원하지 않는 한 이러한 파일을 수정할 필요는 없습니다.
마지막으로 애플리케이션을 실행하려면 다음 명령을 사용하십시오.
bedrust -m <MODELNAME> # 모델 이름을 지원되는 이름 중 하나로 바꿉니다.
또는 기본 모델(구성 파일에서 --init
/ 중에 정의된 모델)을 사용하려면 매개 변수 없이 bedrust
실행하면 됩니다. -m
매개변수를 전달하여 모델을 선택하지 않고 구성 파일에 기본 모델 세트가 없는 경우 실행 중에 하나를 선택하라는 메시지가 표시됩니다.
Amazon Bedrock을 사용하여 AWS에서 대규모 언어 모델을 호출하고 작업하는 명령줄 도구 사용법: bedrust [옵션] 옵션: --init -m, --model-id <MODEL_ID> [가능한 값: llama270b, llama31405b-instruct, llama3170b-instruct, llama318b-instruct, cohere-command, claude-v2, claude-v21, claude-v3-sonnet, claude-v3 -하이쿠, 클로드-v35-소네트, 클로드-v352-소네트, 클로드-v35-하이쿠, jurrasic2-울트라, 타이탄-텍스트-익스프레스-v1, mixtral8x7b-instruct, mistral7b-instruct, mistral-large, mistral-large2] -c, --caption <캡션> -s, --source <소스> -엑스 -h, --help 도움말 인쇄 -V, --version 인쇄 버전
질문을 입력하라는 메시지가 나타나면 ENTER
누르세요. 프로그램을 종료하려면 질문 프롬프트에 /q
입력하면 됩니다.
새로운 기능: Claude V3의 다중 모드 덕분에 이제 이 대형 언어 모델에 이미지를 전달할 수 있습니다. 이는 접근성을 위해 캡션 이미지와 같은 재미있는 작업을 수행할 수 있음을 의미합니다. 이 기능은 Bedrust 버전 0.5.0
부터 사용할 수 있습니다.
️ 현재 이를 지원하는 유일한 두 가지 모델은 Claude V3 Sonnet과 Claude V3 Haiku입니다.
캡션을 사용하려면 이미지가 있는 디렉터리와 함께 -c
매개변수를 전달하면 됩니다.
bedrust -m clude-v3-sonnet -c /tmp/test-images/
그러면 지원되는 이미지가 검색되어 해당 이미지에 대한 캡션이 생성됩니다. 최종적으로 이미지 경로에 연결된 캡션을 사용하여 현재 작업 디렉터리에 captions.json
파일을 생성합니다.
다음은 출력의 예입니다.
[ {"path": "/tmp/test-images/4slika.jpeg","caption": "이더넷 및 기타 포트가 있는 회로 기판을 냉각하는 컴퓨터 CPU 팬." }, {"path": "/tmp/test-images/kompjuter.jpeg","caption": "다양한 전자 부품과 전선이 있는 개방형 회로 기판으로, 선반과 장비가 배경에 보이는 사무실이나 작업장에 배치되어 있습니다. " }, {"path": "/tmp/test-images/c64.jpeg","caption": "화면에 Twitch 로고가 표시되는 빈티지 Commodore 컴퓨터 모니터." } ]
또한 이 프로젝트의 루트에 있는 bedrust_config.ron
파일을 편집하여 캡션 프롬프트 와 지원되는 이미지 파일 형식을 사용자 정의할 수 있습니다.
이제 일부 소스 코드가 포함된 디렉터리를 Bedrust에 지정할 수 있습니다. 이를 통해 상황에 맞게 코드 저장소에 대해 논의할 수 있으며 코드 제안, 개선 사항 및 추가 개발을 제공할 수 있습니다.
참고: 이는 베타 기능이므로 제한 사항이 있습니다. 예를 들어, 정말 큰 코드 기반을 처리할 수 없습니다. 그리고 전체 코드 베이스를 컨텍스트로 보내기 때문에 비용이 훨씬 더 많이 들 수 있습니다.
bedrust --source ~/workspace/repos/your_code_repo
버전 0.8.2부터 이제 대화를 저장하고 나중에 다시 불러올 수 있으며 멋진 HTML 파일로 내보낼 수도 있습니다. 이 기능은 아직 베타 버전 이므로 문제가 발생하고 기능이 변경될 수 있습니다.
이것이 작동하는 방식은 채팅 명령으로 /s
입력하면 Bedrust가 ~/.config/bedrust/chats
내부에 대화를 .json
파일로 저장하는 것입니다. 이 채우기에는 생성된 요약과 대화 제목이 포함됩니다. 대화를 불러오려면 채팅 명령으로 /r
입력하면 저장된 대화 내용 중 하나를 선택할 수 있습니다.
대화를 HTML로 내보내려면 /h
실행하세요. 그러면 현재 디렉터리에 conversation.html
이라는 파일이 생성됩니다. 아직 이 파일을 저장할 위치를 선택하는 기능을 구현하지 않았기 때문에 당분간은 이렇습니다. (결국 베타 버전인가요?)
bedrust 와 함께 제공되는 중요한 구성 파일이 하나 있습니다:
bedrust_config.ron
- 애플리케이션 자체와 관련된 구성 매개변수를 저장합니다.
$HOME/.config/bedrust/
디렉터리에 있어야 합니다 . 응용 프로그램이 존재하지 않으면 경고를 표시하고 실행에 실패합니다. bedrust --init
실행하여 자동으로 생성할 수 있습니다.
사용자 입력을 얻는 기능
모델을 선택할 수 있어서
모델과 대화를 나눠보세요
응답을 단어별로 다시 스트리밍합니다.
향상된 오류 처리
코드 테스트
이미지 생성 기능
더 예쁘게 만들어 보세요
긴 페이스트 처리 개선
Bedder 자격 증명 처리