Kā lietot iegulšanu programmā LangChain

Ka Lietot Iegulsanu Programma Langchain



Iegulšana ir teksta virkņu saistību rādītājs, un to izsaka ar peldošā komata veselu skaitļu vektoru (sarakstu). Attālums starp diviem vektoriem kalpo kā mērs, cik cieši tie ir saistīti; jo mazāks attālums, jo ciešāka saistība. LangChain Embedding klase ir paredzēta, lai kalpotu kā interfeiss iegulšanas pakalpojumiem, piemēram, OpenAI, HuggingFace un citiem.

Divas metodes, embed_query() un embed_documents(), nodrošina bāzes klase. Pirmais no tiem darbojas ar vienu dokumentu, bet otrs var darboties ar daudziem dokumentiem.

Šis raksts aptver praktisko demonstrāciju par iegulšanu programmā LangChain, izmantojot OpenAI teksta iegulšanu.







Piemērs: vienas ievades teksta iegūšana, izmantojot OpenAI teksta iegulšanu

Pirmajā ilustrācijā mēs ievadām vienu teksta virkni un izgūstam OpenAI teksta iegulšanu tai. Programma sākas ar nepieciešamo bibliotēku instalēšanu.



Pirmā bibliotēka, kas mums jāinstalē mūsu projektā, ir LangChain. Tas nav iekļauts Python standarta bibliotēkā, tāpēc mums tā ir jāinstalē atsevišķi. Tā kā langchain ir pieejams PyPi, mēs to varam viegli instalēt, izmantojot termināļa komandu pip. Tādējādi mēs palaižam šādu komandu, lai instalētu LangChain bibliotēku:



$ pip instalējiet langchain

Bibliotēka tiek uzstādīta, tiklīdz ir izpildītas prasības.





Mūsu projektā ir jāinstalē arī OpenAI bibliotēka, lai mēs varētu piekļūt OpenAI modeļiem. Šo bibliotēku var atvērt, ierakstot pip komandu:

$ pip instalēt openai

Tagad abas nepieciešamās bibliotēkas ir instalētas mūsu projekta failā. Mums ir jāimportē nepieciešamie moduļi.



no langchain. iegulšanas . openai imports OpenAIEmbeddings

imports tu

tu . aptuveni [ 'OPENAI_API_KEY' ] = 'sk-YOUR_API_KEY'

Lai iegūtu OpenAI iegulšanu, mums ir jāimportē OpenAIEmbeddings klase no pakotnes “langchain.embeddings.openai”. Pēc tam mēs iestatām API atslēgu kā vides mainīgo. Mums ir nepieciešama slepenā API atslēga, lai piekļūtu dažādiem OpenAI modeļiem. Šo atslēgu var ģenerēt no OpenAI platformas. Vienkārši reģistrējieties un iegūstiet slepeno atslēgu sava profila sadaļā “Skatīt slepeno atslēgu”. Šo atslēgu var izmantot dažādos konkrēta klienta projektos.

Vides mainīgie tiek izmantoti, lai saglabātu API atslēgas noteiktai videi, nevis iekodētu tos funkcijās. Tātad, lai iestatītu API atslēgu kā vides mainīgo, mums ir jāimportē “os” modulis. Metode os.environ() tiek izmantota, lai iestatītu API atslēgu kā vides mainīgo. Tas satur nosaukumu un vērtību. Mūsu iestatītais nosaukums ir “OPENAI_API_KEY”, un slepenā atslēga ir iestatīta uz “value”.

modelis = OpenAIEmbeddings ( )

ievades_teksts = 'Tas ir par demonstrāciju.'

iznākumu = modelis. embed_query ( ievades_teksts )

drukāt ( iznākumu )

drukāt ( tikai ( iznākumu ) )

Mēs jau esam izveidojuši saskarni ar OpenAI iegulšanas iesaiņojumu. Pēc tam mēs saucam OpenAIEMbedding klases konstruktoru. OpenAI piedāvā dažādus iegulšanas modeļus, taču jums par tiem ir jāmaksā. Šeit mēs izmantojam OpenAI noklusējuma iegulšanas modeli, t.i., teksta iegulšana-ada-002, kas ir bezmaksas. Ja kā parametru nenorāda modeļa nosaukumu, tiek izmantots noklusējuma modelis.

Pēc tam mēs norādām tekstu, kura iegulšana ir jāiegūst. Teksts ir norādīts kā 'Tas ir paredzēts demonstrācijai'. un saglabājiet to mainīgajā input_text. Pēc tam embed_query() metode nodrošinātā teksta iegulšanai tiek izsaukta ar izmantoto modeli un ievades_tekstu, kurā ir teksta virkne, lai izgūtu iegulšanu, kas tiek nodrošināta kā parametrs. Izgūtās iegulšanas tiek piešķirtas rezultāta objektam.

Visbeidzot, lai redzētu rezultātu, mums ir Python print () metode. Mums vienkārši ir jānodod metodei print () objekts, kurā tiek saglabāta vērtība, kuru mēs vēlamies parādīt. Tādējādi mēs šo funkciju izsaucam divreiz; vispirms, lai parādītu peldošo skaitļu sarakstu, un otrkārt, lai izdrukātu šo vērtību garumu, izmantojot len() metodi.

Peldošo vērtību sarakstu var skatīt šajā momentuzņēmumā ar šo vērtību garumu:

Piemērs: vairāku ievades teksta/dokumenta iegūšana, izmantojot OpenAI teksta iegulšanu

Mēs varam ne tikai iegūt iegulšanu vienam ievades tekstam, bet arī izgūt to vairākām ievades virknēm. Mēs to ieviešam šajā ilustrācijā.

Mēs jau instalējām bibliotēkas iepriekšējā attēlā. Vēl viena bibliotēka, kas mums šeit jāinstalē, ir Python tiktoken bibliotēka. Lai to instalētu, terminālī ierakstiet komandu:

$ pip instalēt tiktoken

Tiktoken pakotne ir baitu pāra kodēšanas marķieris. To izmanto ar OpenAI modeļiem un sadala tekstu marķieros. Tas tiek izmantots, jo norādītajam OpenAI modelim sniegtās virknes dažkārt ir nedaudz garas. Tātad tas sadala tekstu un kodē tos marķieros. Tagad strādāsim pie galvenā projekta.

no langchain. iegulšanas . openai imports OpenAIEmbeddings

modelis = OpenAIEmbeddings ( openai_api_key = 'sk-YOUR_API_KEY'

virknes = ['
Šis ir priekš demonstrācija. ',' Šis virkne ir arī priekš demonstrācija. ',' Šis ir vēl viena demonstrācija virkne . ',' Šis ir Pēdējais virkne . ']

rezultāts = model.embed_documents(strings)

izdrukāt (rezultāts)

izdrukāt(len(rezultāts))

OpenAIEMbeddings klase tiek importēta no pakotnes “langchain.embeddings.openai”. Iepriekšējā piemērā mēs iestatījām API atslēgu kā vides mainīgo. Bet šim mēs to nododam tieši konstruktoram. Tātad mums šeit nav jāimportē “os” modulis.

Pēc OpenAI modeļa izsaukšanas, kas ir OpenAIEmbeddings, mēs tam nododam slepeno API atslēgu. Nākamajā rindā ir norādītas teksta virknes. Šeit mēs objektu virknēs saglabājam četras teksta virknes. Šīs virknes ir “Šī ir demonstrācijai”, “Šī virkne ir arī demonstrācijai”, “Šī ir cita demonstrācijas virkne” un “Šī ir pēdējā virkne”.

Varat norādīt vairākas virknes, vienkārši atdalot katru ar komatu. Iepriekšējā gadījumā tika izsaukta metode embed_text(), taču mēs to nevaram izmantot šeit, jo tā darbojas tikai vienai teksta virknei. Lai iegultu vairākas virknes, izmantojamā metode ir embed_document(). Tātad, mēs to saucam ar norādīto OpenAI modeli un teksta virknēm kā argumentu. Izvade tiek saglabāta rezultāta objektā. Visbeidzot, lai parādītu izvadi, tiek izmantota Python print() metode, kuras parametrs ir objekta rezultāts. Tāpat mēs vēlamies redzēt šo peldošo vērtību garumu. Tādējādi mēs izsaucam len () metodi print () metodē.

Izgūtā izvade ir parādīta šajā attēlā:

Secinājums

Šajā ziņojumā tika apspriests LangChain iegulšanas jēdziens. Mēs uzzinājām, kas ir iegulšana un kā tā darbojas. Šeit ir parādīta praktiska teksta virkņu iegulšanas īstenošana. Mēs veicām divas ilustrācijas. Pirmajā piemērā tika izmantots vienas teksta virknes iegulšanas izgūšana, bet otrajā piemērā tika saprasts, kā iegūt vairāku ievades virkņu iegulšanu, izmantojot OpenAI iegulšanas modeli.