첫 번째 기여

DDD
DDD원래의
2024-09-19 06:20:03790검색

기여자가 되세요

저는 최근 프로젝트 소유자인 Majd Al Mounayer와 협력하여 TypeScript를 사용하여 구축한 매우 우수한 채팅 완성 애플리케이션에 처음으로 기여했습니다. Majd는 ESLint부터 CI 작업에 이르기까지 개발에 대해 잘 이해하고 있습니다. 그의 프로젝트를 검토하면서 저는 탄탄한 기본 구조로 인해 애플리케이션이 확장 가능하고 새로운 기여자가 기능을 추가하기가 더 쉬워진다는 사실을 알게 되었습니다.

Issue-12 토큰 사용 특집

First Contribute Groq에서 토큰 정보를 얻으세요. #12

First Contribute
페이딩NA 게시일:

Groq 인스턴스를 기반으로 --token_usage 또는 -t 옵션을 제공하여 최적화 목적으로 얼마나 많은 토큰이 반환되거나 사용되는지 모니터링하는 것이 좋습니다. 일부 코드 블록은 각 모델에 적용되는 토큰 제한을 초과할 수 있으므로 이는 중요합니다.

GitHub에서 보기

여러 의견에 대해 토론하고 이 프로젝트에 이 기능을 추가하려면 어떻게 해야 하는지 이해했습니다.

풀 리퀘스트

First Contribute Issue 12 --token-usage & -tu를 통해 토큰 정보 추가 #13

First Contribute
페이딩NA 게시일:

설명

handleTokenFlag를 추가하여 --token-usage 또는 -tu가 포함된 인수 전달을 확인합니다(예인 경우). 토큰 사용에 대해 표준 오류를 발생시킵니다.

  • 빌드 성공

First Contribute

  • 테스트됨

First Contribute

  • 린팅

First Contribute

체크리스트

  • [x] 빌드가 실패하지 않습니다.

  • [x] 현지에서 테스트되었습니다.

  • [x] Linting 오류가 해결된 경우.

테스트 지침

단계

1.

만들기
  • 새로운 종속성 npm 설치

2.

로 이동
  • Optimizeit CD로 이동 OptimizeIt
  • npm run dev -- ./examples/dynamicMemory.cpp --token-usage
GitHub에서 보기

Mounayer의 첫 번째 댓글

First Contribute Issue 12 --token-usage & -tu를 통해 토큰 정보 추가 #13

First Contribute
페이딩NA 게시일:

설명

handleTokenFlag를 추가하여 --token-usage 또는 -tu가 포함된 인수 전달을 확인합니다(예인 경우). 토큰 사용에 대해 표준 오류를 발생시킵니다.

  • 빌드 성공

First Contribute

  • 테스트됨

First Contribute

  • 린팅

First Contribute

체크리스트

  • [x] 빌드가 실패하지 않습니다.

  • [x] 현지에서 테스트되었습니다.

  • [x] Linting 오류가 해결된 경우.

테스트 지침

단계

1.

만들기
  • 새로운 종속성 npm 설치

2.

로 이동
  • Optimizeit CD로 이동 OptimizeIt
  • npm run dev -- ./examples/dynamicMemory.cpp --token-usage
GitHub에서 보기

CLI를 확인하는 인수에서 try-catch 블록으로 래핑할 필요가 없다는 점을 지적한 그의 제안에 따라 수정하고 변경했습니다.

Mounayer의 두 번째 의견

First Contribute Issue 12 --token-usage & -tu를 통해 토큰 정보 추가 #13

First Contribute
페이딩NA 게시일:

설명

handleTokenFlag를 추가하여 --token-usage 또는 -tu가 포함된 인수 전달을 확인합니다(예인 경우). 토큰 사용에 대해 표준 오류를 발생시킵니다.

  • 빌드 성공

First Contribute

  • 테스트됨

First Contribute

  • 린팅

First Contribute

체크리스트

  • [x] 빌드가 실패하지 않습니다.

  • [x] 현지에서 테스트되었습니다.

  • [x] Linting 오류가 해결된 경우.

테스트 지침

단계

1.

만들기
  • 새로운 종속성 npm 설치

2.

로 이동
  • Optimizeit CD로 이동 OptimizeIt
  • npm run dev -- ./examples/dynamicMemory.cpp --token-usage
GitHub에서 보기

optimit가 한 번에 여러 파일을 처리하면 출력이 매우 커질 수 있습니다. 그러면 사용자는 사용자 친화적이지 않은 토큰을 보기 위해 위로 스크롤해야 합니다. 토큰 정보는 처리된 모든 파일 출력 아래의 대부분의 프로그램 출력 하단에 표시되어야 한다고 생각합니다.

인용문에서 애플리케이션 종료 시 stderr을 호출하여 애플리케이션 대부분 하단에 토큰을 표시하도록 변경했습니다.

Mounayer에서 버그가 발견되었습니다.

First Contribute Issue 12 --token-usage & -tu를 통해 토큰 정보 추가 #13

First Contribute
페이딩NA 게시일:

설명

handleTokenFlag를 추가하여 --token-usage 또는 -tu가 포함된 인수 전달을 확인합니다(예인 경우). 토큰 사용에 대해 표준 오류를 발생시킵니다.

  • 빌드 성공

First Contribute

  • 테스트됨

First Contribute

  • 린팅

First Contribute

체크리스트

  • [x] 빌드가 실패하지 않습니다.

  • [x] 현지에서 테스트되었습니다.

  • [x] Linting 오류가 해결된 경우.

테스트 지침

단계

1.

만들기
  • 새로운 종속성 npm 설치

2.

로 이동
  • Optimizeit CD로 이동 OptimizeIt
  • npm run dev -- ./examples/dynamicMemory.cpp --token-usage
GitHub에서 보기

이 버그는 if 조건을 처리하는 완료 내부의 잘못된 if 조건으로 인해 --token-usage의 플래그가 인수에 전달되는지 확인하지만 응답을 찾을 수 없으면 오류를 발생시키는 else 조건과 함께 사용하고 있기 때문입니다. .token 대신

if (tokenUsageInformation && chatCompletion?.usage) {
this.saveTokenUsageInfo(chatCompletion?.usage);
} 그 밖의 {
새로운 오류 발생(`
${fileName}
파일에 대한 토큰 사용 정보를 사용할 수 없습니다. `);


으로 변경
if (tokenUsageInformation) {
if (!chatCompletion.usage) {
throw new Error('토큰 사용 정보를 확인할 수 없습니다');
}
this.accumulateToken(chatCompletion?.usage);

이를 통해 토큰 사용이 올바르게 처리되고, 정보를 사용할 수 없는 경우 애플리케이션 흐름을 방해하지 않고 적절한 오류가 발생합니다.

전반적으로 이 프로젝트에 참여하면서 다양한 코딩 스타일에 대해 더 많이 배우고 적응할 수 있었습니다. ESLint를 사용하는 Majd의 일관성은 개발 패턴을 매우 명확하게 만들어 원활한 기여 프로세스를 보장하는 데 도움이 되었습니다.

위 내용은 첫 번째 기여의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:리액트 기본다음 기사:리액트 기본