> Java > java지도 시간 > 본문

오픈 소스와의 첫 번째 상호 작용

DDD
풀어 주다: 2024-09-19 03:02:44
원래의
600명이 탐색했습니다.

소개

내 손이 닿을 수 없는 것처럼 들리기 때문에 내 손이 오픈 소스를 만질 것이라고는 결코 생각하지 못했습니다. 그러나 이번 학기부터 나는 무엇이 나를 기다리고 있는지 알지 못한 채 David Humphrey의 "오픈 소스 개발"이라는 과정을 선택했고 "내 프로그램을 수행하는 또 다른 지루한 과정"과 같은 기대가 있었지만 시작하고 나니 깨달았습니다. 다른 강좌와는 뭔가 다른 것 같아요. 첫 번째 강의에서 우리는 유용한 방식으로 파일을 변환하기 위해 호환 가능한 AI API 엔드포인트를 사용할 수 있는 간단한 CLI 도구를 구축하는 임무를 받았습니다. 아마도 그것이 내 인생을 바꾸었을 것입니다. 말 그대로 저는 프로그래밍에 그렇게 열정을 쏟은 적이 없었고 제가 이 분야에 속하지 않는다고 생각했습니다. 하지만 우리 모두는 길이 항상 직선이 아니며 때로는 좁다는 것을 알고 있습니다. 나는 우리 반에서 아주 능숙한 많은 학생들을 목격했고, 코딩에 대한 내 사랑을 되살린 유일한 생각은 "내가 그들보다 더 나쁜가? 아니... 그게 나를 너무 힘들게 해서 3주째에 쉬지 않고 앉아 있는 것"이었습니다. 완전히 새로운 언어를 선택하고 연구와 테스트를 시작하면서 말 그대로 내가 원하는 것은 무엇이든 만들 수 있다는 것을 이해하는 데 도움이 되는 간단하면서도 흥미로운 결과를 얻었습니다.

다중 언어 코드

PolyglotCode는 개발자가 다른 프로그래밍 언어의 코드로 파일을 번역하는 데 도움이 되는 명령줄 도구입니다. 이 도구는 Maven 종속성 관리자를 사용하여 Java로 작성되었습니다. 단순히 파일을 가져와서 사용자가 번역하려는 언어를 API 엔드포인트에 쿼리로 보내고 번역된 자료를 터미널에 출력하거나 파일에 씁니다(사용자 선택). 앞으로는 Cohere의 AI v1을 사용했다는 점을 언급하고 싶습니다. 끝점.

First Interaction With Open Source

도구의 자세한 데모 영상을 올렸습니다.

시작하기

1단계. Cohere API 키를 생성하여 메인 클래스 내부의 -a && --api-key 플래그의 defaultValue에 제공합니다.

@Option(
        names = {"-a", "--api-key"},
        defaultValue = "YOUR_API-KEY",
        description = "Modifying api key manually"
)
private String api;
로그인 후 복사

또는

플래그를 사용하여 호출을 지정하고 명령줄에 API 키를 제공합니다(3단계 이후에만 사용 가능).

./polyglot <file(s)...> <language> -a <YOUR-API-KEY>
로그인 후 복사

2단계. bash 스크립트를 실행 가능하게 만들어 사용자가 ./polyglot 명령을 사용하여 코드를 실행할 수 있도록 합니다

chmod +x polyglot
로그인 후 복사

3단계. Maven 패키지를 실행하여 소스 코드 컴파일

mvn package
로그인 후 복사

특징

이유는 릴리스 v0.1이기 때문에 이 도구를 만드는 데 애를 먹었습니다(고군분투했지만 시간이 많이 걸렸다는 뜻입니다. 즐거웠어요 :D) 구현하려고 계획한 기능이 모두 포함되어 있지 않습니다. . 하지만 여전히 필수 기능 중 일부가 포함되어 있으므로 단순히 요구 사항을 따랐을 뿐입니다. 여기 있습니다:

돕다

프로그래밍의 정점이 아닌가, (-h, --help) 플래그. 이 플래그는 사용자가 사용법과 모든 플래그를 배우는 데 도움이 됩니다. 사용법:

./polyglot -h
로그인 후 복사

또는

./polyglot --help
로그인 후 복사

First Interaction With Open Source

버전

프로그래밍의 또 다른 정점은 (-v, --version) 플래그입니다. 도구의 현재 버전을 표시합니다. 사용법:

./polyglot -v
로그인 후 복사

또는

./polyglot --version
로그인 후 복사

First Interaction With Open Source

API 키

앞서 언급했듯이 사용자는 코드에 들어가지 않고 단순히 플래그(-a, --api-key)를 사용하여 Cohere-Api 키를 지정할 수 있습니다. 사용법:

./polyglot <file(s)...> <language> -a <YOUR-API>
로그인 후 복사

또는

./polyglot <file(s)...> <language> --api-key <YOUR-API>
로그인 후 복사

기본 URL

예기치 않은 출력이 발생할 수 있으므로 이 애플리케이션의 baseUrl을 변경하지 않는 것이 좋습니다. 그러나 이 옵션은 사용자가 계속 사용할 수 있습니다. 사용법:

./polyglot <file(s)...> <language> -u <baseUrl>
로그인 후 복사

또는

./polyglot <file(s)...> <language> --base-url <baseURL>
로그인 후 복사

First Interaction With Open Source

산출

사용자가 지정한 파일을 생성하고 거기에 결과를 씁니다. 한 번에 하나의 파일에 이 옵션을 사용하는 것이 좋습니다. 사용법:

./polyglot <file(s)...> <language> -o file.txt
로그인 후 복사

또는

./polyglot <file(s)...> <language> --output file.txt
로그인 후 복사

First Interaction With Open Source

새 파일의 모습:

First Interaction With Open Source

Les défis auxquels j'ai été confronté

Après avoir partagé toutes mes fonctionnalités avec vous, il est temps de parler des défis auxquels j'ai été confronté. L'un des défis était d'apprendre un nouveau langage, ce n'était pas si difficile que ce que j'avais appris avant le C/C++. Le deuxième consistait à trouver un point de terminaison d'IA approprié, car beaucoup d'entre eux ne seraient pas développés pour répondre même à des questions simples, et mon objectif était de le trouver gratuitement :) Le troisième défi consistait à apprendre à utiliser picoCLI, un outil qui vous aide à configurer Outil CLI, au début j'ai créé un script bash pour m'aider, j'essayais d'éviter d'utiliser picoCLI, puis c'est devenu tellement gênant et j'ai décidé de mieux en apprendre davantage sur picoCLI.

Dans l'ensemble, ce projet m'a aidé à comprendre que tout est possible, si on travaille dur !

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

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!