Kitchen Nightmares: Toleo la LangChain Agents

Nilijenga programu ya afya kwa ajili ya kuchambua mapishi na kuunda mipango ya milo.

Nilitumia FastAPI na React kwa ajili ya programu ya wavuti. Nilitumia LangChain kwa ajili ya agents. Nilitumia LangSmith kuona kile ambacho agents wangu walikuwa wakifanya.

Lengo lilikuwa rahisi. Mtumiaji hutoa URL. Programu inachukua mapishi na kuyagawa katika sehemu kama vile vyakula vikuu, viambatisho, na michuzi. Watumiaji wanaweza kisha kuchanganya na kuoanisha hivi ili kuunda milo au kufuatilia kalori.

Nilikumbana na tatizo kubwa la uaminifu wa agent.

Mwanzoni, nilitumia agent mmoja ili kuunganisha mapishi na kupanga muundo wa matokeo. Ilifeli mara kwa mara. Ilitoa vitu vinavyojirudia. Ilikosa maelekezo. Iliunganisha kila kitu kuwa kitalu kimoja kikubwa.

Nilijaribu mpangilio wa agent wawili ili kurekebisha hili:

  • Agent 1 (Grouping): Inatafuta sehemu mbalimbali za mapishi na kupanga viungo na maelekezo.
  • Agent 2 (Structuring): Inachukua maandishi hayo yaliyopangwa na kuyageuza kuwa muundo safi wa JSON.

Hii ilifanya kazi kwa siku moja. Siku iliyofuata, makosa yalirejea. Agent wa structuring alianza kutoa JSON iliyokosa viungo na maelekezo yote.

Niliacha kutumia print statements na nikaanza kutumia LangSmith.

LangSmith inanionyesha ucheleweshaji (latency), matumizi ya token, na gharama. Muhimu zaidi, inanionyesha mahali ambapo mnyororo (chain) unakatika.

Katika kesi yangu, agent wa grouping ulikuwa unafanya kazi vizuri sana. Ulitoa markdown nzuri yenye maelezo yote. Kufeli kulitokea kwenye agent wa pili. Kulikuwa na upotevu wa data wakati wa mabadiliko (transformation).

Sasa ninafanya kazi kwenye marekebisho matatu:

  • Kuboresha uaminifu wa agent: Niligundua kuwa agent wa structuring unajaribu kukisia uwanja wa aina ya chakula (cuisine field) ambao haukuwepo kwenye prompt ya awali. Kuchanganyikiwa huku kunasababisha makosa.
  • Kuongeza uhakiki (validation): Nitatumia Python functions kukagua matokeo. Nataka kuhakikisha kuwa markdown ni sahihi na hakuna vitu vinavyojirudia.
  • Uangalizi bora (Better observability): Nataka kuunganisha kila utekelezaji wa agent na ombi maalum la mtumiaji kwa ajili ya ufuatiliaji (tracing) rahisi.

Kujenga kwa kutumia agents si kazi ya mara moja. Ni mzunguko wa mara kwa mara wa majaribio na marekebisho.

Chanzo: https://dev.to/kristianroopnarine/kitchen-nightmares-langchain-agents-edition-45co

Jumuiya ya kujifunza ya hiari: https://t.me/GyaanSetuAi