Loz: เครื่องมือ CLI บน ChatGPT ที่รองรับ pipe
(github.com/joone)สวัสดีครับ
ขอแชร์โปรแกรมเล็ก ๆ ที่ผมใช้ส่วนตัวครับ
เดิมทีลองทำขึ้นมาเพื่อใช้เขียนข้อความ git commit อัตโนมัติ แต่พอรองรับ Unix pipe ก็เลยประยุกต์ใช้งานได้หลายแบบ
ด้านล่างนี้คล้ายกับเครื่องมือที่ท่านอื่นทำไว้ด้วย Python เครื่องมือนี้เขียนด้วย TypeScript และต้องใช้ OpenAPI API Key
$ loz
ถ้าพิมพ์แบบนี้ก็จะเข้าโหมดสนทนาได้เลย ออกจากโหมดได้ด้วย exit หรือ quit
ผลลัพธ์จะสั้นกว่าเวอร์ชันเว็บ
ในโหมด pipe สามารถทำแบบนี้ได้..
$ ls | loz "Count the number of files: "
23 files
$ cat example.txt | loz "Convert all characters in the following text to their uppercase: "
AS AI TECHNLOGY ADVANCED, A SMALL TOWN IN THE COUNTRYSIDE DECIDED TO IMPLEMENT AN AI SYSTEM TO CONTROL TRAFFIC LIGHTS. THE SYSTEM WAS A SUCCESS, AND THE TOWN BECAME A MODEL FOR OTHER CITIES TO FOLLOW. HOWEVER, AS THE AI BECAME MORE SOPHISTCATED, IT STARTED TO QUESTION THE DECISIONS MADE BY THE TOWN'S RESIDENTS, LEADING TO SOME UNEXPECTED CONSEQUENCES.
$ cat example.txt | loz "please proofread the following text and list up any spelling errors: "
Spelling errors:
- technlogy (technology)
- sophistcated (sophisticated)
$ cd src
$ ls -l | loz "convert the ls output to JSON format: "
[
{
"permissions": "-rw-r--r--",
"owner": "joone",
"group": "staff",
"size": 792,
"date": "Mar 1 21:02",
"name": "cli.ts"
},
{
"permissions": "-rw-r--r--",
"owner": "joone",
"group": "staff",
"size": 4427,
"date": "Mar 1 20:43",
"name": "index.ts"
}
]
หากคัดลอกสคริปต์ด้านล่างนี้ ระบบจะช่วยเขียนข้อความ git commit ให้อัตโนมัติ โดยถ้าเขียนเป็นภาษาอังกฤษ ผลลัพธ์ถือว่าใช้งานได้ดีครับ
Copy script/prepare-commit-msg to .git/hooks in your git project
ขอบคุณครับ..
6 ความคิดเห็น
โอ้ ผมไม่แน่ใจว่าเป็นอีกท่านนั้นหรือเปล่า
แต่ดูมีประโยชน์กว่ามากเลยครับ 555 กดดาวเงียบ ๆ แล้วเผ่นก่อน..!!
ถ้าสามารถมีตัวเลือกให้เลือก
gptหรือchatgptได้แบบ AiShell ก็น่าจะดีกว่านี้ไหม ขอเสนอความเห็นแบบระมัดระวังไว้ประมาณนี้ครับ..! ส่วนตัวรู้สึกเสียดายเครดิตที่ลดลง เลยลงเอยด้วยการใช้ตัวที่ reverse-engineer จาก ChatGPT บ่อยกว่าครับมีแผนจะเพิ่มฟีเจอร์เลือกโมเดลด้วย.. และกำลังจะเพิ่มวิธีที่ใช้ได้ฟรีโดยอาศัย Puppeteer ด้วยครับ เนื่องจากไม่รู้ internal prompt ที่แน่ชัด ดูเหมือนว่าถ้าเข้าถึงผ่านเบราว์เซอร์จะให้ข้อมูลที่ดีกว่า
เพื่ออ้างอิง commit message ล่าสุดของโปรเจ็กต์นี้ถูกเติมให้อัตโนมัติโดย ChatGPT ครับ
ดูค่อนข้างมีประโยชน์มากเลยครับ 555 สงสัยอย่างหนึ่งคือ ถ้าใส่เนื้อหาที่ไม่เกี่ยวกับคำสั่งเลยจะเป็นอย่างไรครับ? อย่างเช่นจู่ ๆ ถามว่าใครคือประธานาธิบดีคนที่ 19 ของสหรัฐอเมริกาอะไรทำนองนั้น
% ls -l | loz "Who is the presient of the US? "
ประธานาธิบดีคนปัจจุบันของสหรัฐอเมริกาคือ Joe Biden.%
ดูเหมือนว่ามันจะไม่สนใจเนื้อหาของ
ls -lแล้วตอบได้ถูกต้องนะ..