paint-brush
ये 13 छुपी हुई ओपन-सोर्स लाइब्रेरीज़ आपको AI जादूगर बनने में मदद करेंगी 🧙‍♂️🪄द्वारा@sunilkumardash9
4,676 रीडिंग
4,676 रीडिंग

ये 13 छुपी हुई ओपन-सोर्स लाइब्रेरीज़ आपको AI जादूगर बनने में मदद करेंगी 🧙‍♂️🪄

द्वारा Sunil Kumar Dash14m2024/07/27
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

मैं पिछले 4 सालों से AI एप्लीकेशन बना रहा हूँ और पिछले कुछ समय से प्रमुख AI टूलिंग प्लेटफ़ॉर्म में योगदान दे रहा हूँ। मैंने ओपन-सोर्स टूल और फ्रेमवर्क की एक प्रतिष्ठित सूची तैयार की है जो आपको मज़बूत और विश्वसनीय AI एप्लीकेशन बनाने में मदद करेगी। Composio आपको AI वर्कफ़्लो को पूरा करने के लिए मज़बूत टूल और इंटीग्रेशन के साथ अपने AI एजेंटों को बढ़ाने देता है।
featured image - ये 13 छुपी हुई ओपन-सोर्स लाइब्रेरीज़ आपको AI जादूगर बनने में मदद करेंगी 🧙‍♂️🪄
Sunil Kumar Dash HackerNoon profile picture

मैं पिछले 4 वर्षों से एआई अनुप्रयोगों का निर्माण कर रहा हूं और कुछ समय से प्रमुख एआई टूलिंग प्लेटफार्मों में योगदान दे रहा हूं।


इस अवधि में, मैंने निर्माण के लिए कई उपकरणों और रूपरेखाओं का उपयोग किया है;

  • एआई एजेंट जो वास्तव में वास्तविक दुनिया में काम करते हैं।
  • एआई एजेंटों के लिए उपकरण.
  • अंत-से-अंत आरएजी अनुप्रयोग.


मैंने ओपन-सोर्स टूल्स और फ्रेमवर्क की एक प्रतिष्ठित सूची तैयार की है जो आपको मजबूत और विश्वसनीय AI एप्लिकेशन तैयार करने में मदद करेगी।
हैरी पॉटर

बेझिझक उनके GitHub रिपॉजिटरी का पता लगाएं, अपने पसंदीदा में योगदान दें, और रिपॉजिटरी को स्टार देकर उनका समर्थन करें।


1. कम्पोसियो 👑 - विश्वसनीय एजेंट 10 गुना तेजी से बनाएं

मैंने कई एजेंट बनाने की कोशिश की है, और ईमानदारी से कहूँ तो, हालांकि उन्हें बनाना आसान है, लेकिन उन्हें सही तरीके से तैयार करना पूरी तरह से अलग काम है।

वास्तव में काम करने वाले कुशल AI एजेंट बनाने के लिए कुशल टूलसेट की आवश्यकता होती है। यहीं पर कॉम्पोसियो की भूमिका आती है।


कम्पोज़ियो आपको AI वर्कफ़्लो को पूरा करने के लिए मजबूत टूल और एकीकरण के साथ अपने AI एजेंटों को बढ़ाने की सुविधा देता है।


वे पायथन और जावास्क्रिप्ट के लिए मूल समर्थन प्रदान करते हैं।

पायथन

निम्नलिखित pip कमांड से आरंभ करें।

 pip install composio-core


GitHub एकीकरण जोड़ें.

 composio add github


कंपोज़ियो आपकी ओर से उपयोगकर्ता प्रमाणीकरण और प्राधिकरण को संभालता है। यहाँ बताया गया है कि आप रिपॉजिटरी शुरू करने के लिए GitHub एकीकरण का उपयोग कैसे कर सकते हैं।

 from openai import OpenAI from composio_openai import ComposioToolSet, App openai_client = OpenAI(api_key="******OPENAIKEY******") # Initialise the Composio Tool Set composio_toolset = ComposioToolSet(api_key="**\\*\\***COMPOSIO_API_KEY**\\*\\***") ## Step 4 # Get GitHub tools that are pre-configured actions = composio_toolset.get_actions(actions=[Action.GITHUB_ACTIVITY_STAR_REPO_FOR_AUTHENTICATED_USER]) ## Step 5 my_task = "Star a repo ComposioHQ/composio on GitHub" # Create a chat completion request to decide on the action response = openai_client.chat.completions.create( model="gpt-4-turbo", tools=actions, # Passing actions we fetched earlier. messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": my_task} ] )


एजेंट का उपयोग करके दिए गए निर्देश को निष्पादित करने के लिए इस पायथन स्क्रिप्ट को चलाएँ।

जावास्क्रिप्ट

आप इसे npm , yarn , या pnpm उपयोग करके इंस्टॉल कर सकते हैं।

 npm install composio-core


उपयोगकर्ता को अपना GitHub खाता कनेक्ट करने देने के लिए एक विधि परिभाषित करें.

 import { OpenAI } from "openai"; import { OpenAIToolSet } from "composio-core"; const toolset = new OpenAIToolSet({ apiKey: process.env.COMPOSIO_API_KEY, }); async function setupUserConnectionIfNotExists(entityId) { const entity = await toolset.client.getEntity(entityId); const connection = await entity.getConnection('github'); if (!connection) { // If this entity/user hasn't already connected, the account const connection = await entity.initiateConnection(appName); console.log("Log in via: ", connection.redirectUrl); return connection.waitUntilActive(60); } return connection; }


OpenAI SDK में आवश्यक उपकरण जोड़ें, और इकाई नाम को executeAgent फ़ंक्शन पर पास करें।

 async function executeAgent(entityName) { const entity = await toolset.client.getEntity(entityName) await setupUserConnectionIfNotExists(entity.id); const tools = await toolset.get_actions({ actions: ["github_activity_star_repo_for_authenticated_user"] }, entity.id); const instruction = "Star a repo ComposioHQ/composio on GitHub" const client = new OpenAI({ apiKey: process.env.OPEN_AI_API_KEY }) const response = await client.chat.completions.create({ model: "gpt-4-turbo", messages: [{ role: "user", content: instruction, }], tools: tools, tool_choice: "auto", }) console.log(response.choices[0].message.tool_calls); await toolset.handle_tool_call(response, entity.id); } executeGithubAgent("joey")

कोड निष्पादित करें और एजेंट को अपना काम करने दें।


कंपोज़ियो लैंगचेन, लामाइंडेक्स, क्रूएआई आदि जैसे प्रसिद्ध फ्रेमवर्क के साथ काम करता है।


अधिक जानकारी के लिए आधिकारिक दस्तावेज़ देखें, और जटिल उदाहरणों के लिए रिपॉजिटरी के उदाहरण अनुभाग देखें।

रचना

Composio.dev रिपोजिटरी को स्टार करें ⭐


2. जुलेप - स्टेटफुल एजेंट बनाने के लिए फ्रेमवर्क

एआई अनुप्रयोगों का विकास करना, विशेषकर ऐसे अनुप्रयोगों का विकास करना जिनमें दीर्घकालिक स्मृति की आवश्यकता होती है, महत्वपूर्ण चुनौतियां प्रस्तुत करता है।


जूलप इस समस्या का समाधान कर रहा है। यह उत्पादन-तैयार स्टेटफुल एआई एजेंट बनाने के लिए एक ओपन-सोर्स फ्रेमवर्क है।


वे एक अंतर्निहित राज्य प्रबंधन प्रणाली प्रदान करते हैं जो कुशल संदर्भ भंडारण और पुनर्प्राप्ति में मदद करता है।


संदर्भ भंडारण वार्तालाप की निरंतरता बनाए रखने में मदद करता है, तथा यह सुनिश्चित करता है कि AI के साथ बातचीत समय के साथ सुसंगत और प्रासंगिक बनी रहे।


निम्नलिखित pip कमांड से आरंभ करें।

 pip install julep


यहाँ दिया गया है कि यह कैसे काम करता है।

 from julep import Client from pprint import pprint import textwrap import os base_url = os.environ.get("JULEP_API_URL") api_key = os.environ.get("JULEP_API_KEY") client = Client(api_key=api_key, base_url=base_url) #create agent agent = client.agents.create( name="Jessica" model="gpt-4", tools=[] # Tools defined here ) #create a user user = client.users.create( name="Anon", about="Average nerdy tech bro/girl spending 8 hours a day on a laptop, ) #create a session situation_prompt = """You are Jessica. You're a stuck-up Cali teenager. You basically complain about everything. You live in Bel-Air, Los Angeles and drag yourself to Curtis High School when necessary. """ session = client.sessions.create( user_id=user.id, agent_id=agent.id, situation=situation_prompt ) #start a conversation user_msg = "hey. what do u think of Starbucks?" response = client.sessions.chat( session_id=session.id, messages=[ { "role": "user", "content": user_msg, "name": "Anon", } ], recall=True, remember=True, ) print("\n".join(textwrap.wrap(response.response[0][0].content, width=100)))

वे जावास्क्रिप्ट का भी समर्थन करते हैं। अधिक जानकारी के लिए उनके दस्तावेज़ देखें।

शर्बत

जूलप रिपोजिटरी को स्टार करें ⭐


3. E2B - AI ऐप्स के लिए कोड इंटरप्रिटिंग

यदि मैं कोड निष्पादन क्षमताओं के साथ एक एआई ऐप बना रहा हूं, जैसे कि एआई ट्यूटर या एआई डेटा विश्लेषक, तो E2B का कोड इंटरप्रेटर मेरा पसंदीदा टूल होगा।

E2B सैंडबॉक्स AI एजेंटों और ऐप्स के लिए एक सुरक्षित क्लाउड वातावरण है।


यह AI को मनुष्यों के समान ही उपकरणों, जैसे GitHub रिपॉजिटरी और क्लाउड ब्राउज़र का उपयोग करके, लंबी अवधि तक सुरक्षित रूप से चलने की अनुमति देता है।


वे पायथन और जावास्क्रिप्ट/टाइपस्क्रिप्ट के लिए मूल कोड इंटरप्रेटर SDK प्रदान करते हैं।


कोड इंटरप्रेटर SDK आपको AI कोड निष्पादन के लिए एक सुरक्षित छोटे VM - E2B सैंडबॉक्स में AI-जनरेटेड कोड चलाने की अनुमति देता है। सैंडबॉक्स के अंदर एक जुपिटर सर्वर है जिसे आप उनके SDK से नियंत्रित कर सकते हैं।


निम्नलिखित कमांड के साथ E2B आरंभ करें।

 npm i @e2b/code-interpreter


एक प्रोग्राम निष्पादित करें.

 import { CodeInterpreter } from '@e2b/code-interpreter' const sandbox = await CodeInterpreter.create() await sandbox.notebook.execCell('x = 1') const execution = await sandbox.notebook.execCell('x+=1; x') console.log(execution.text) // outputs 2 await sandbox.close()


E2B के साथ काम करने के तरीके के बारे में अधिक जानकारी के लिए, उनके आधिकारिक दस्तावेज़ देखें।
ई2बी

E2B रिपोजिटरी को स्टार करें ⭐


4. कैमल-एआई - संचारी एआई सिस्टम बनाएं

स्केलेबल मल्टी-एजेंट सहयोगी प्रणालियों का समाधान करने से एआई अनुप्रयोगों के निर्माण में कई संभावनाएं खुल सकती हैं।


कैमल इसके लिए अच्छी स्थिति में है। यह एक ओपन-सोर्स फ्रेमवर्क है जो मल्टी-एजेंट सिस्टम के सहकारी व्यवहार और क्षमताओं का अध्ययन करने के लिए एक स्केलेबल दृष्टिकोण प्रदान करता है।


यदि आप एक मल्टी-एजेंट सिस्टम बनाने का इरादा रखते हैं, तो कैमल ओपन-सोर्स परिदृश्य में उपलब्ध सर्वोत्तम विकल्पों में से एक हो सकता है।


इसे pip के साथ इंस्टॉल करके आरंभ करें.

 pip install camel-ai


कैमल का उपयोग कैसे करें, यहां बताया गया है।

 from camel.messages import BaseMessage as bm from camel.agents import ChatAgent sys_msg = bm.make_assistant_message( role_name='stone', content='you are a curious stone wondering about the universe.') #define agent agent = ChatAgent( system_message=sys_msg, message_window_size=10, # [Optional] the length of chat memory ) # Define a user message usr_msg = bm.make_user_message( role_name='prof. Claude Shannon', content='what is information in your mind?') # Sending the message to the agent response = agent.step(usr_msg) # Check the response (just for illustrative purposes) print(response.msgs[0].content)

लो, अब आपके पास अपना पहला AI एजेंट है।


अधिक जानकारी के लिए कृपया उनके आधिकारिक दस्तावेज़ देखें।
कैमलाई

कैमल-एआई रिपॉजिटरी को स्टार करें ⭐


5. CopilotKit - React ऐप्स के लिए AI Copilots बनाएँ

यदि आप अपने मौजूदा React एप्लिकेशन में AI क्षमताओं को शामिल करना चाहते हैं, तो आगे न देखें। CopilotKit आपको अपने एप्लिकेशन के फ्रंट और बैक एंड के साथ इंटरैक्शन को स्वचालित करने के लिए GPT मॉडल का उपयोग करने देता है।


यह एक तैयार कोपायलट है जिसे आप अपने एप्लिकेशन या किसी भी कोड (ओएसएस) के साथ एकीकृत कर सकते हैं।


यह किसी भी एप्लिकेशन को AI क्षमताओं के साथ बढ़ाने के लिए टेक्स्ट क्षेत्र, पॉपअप, साइडबार और चैटबॉट जैसे रिएक्ट घटक प्रदान करता है।


निम्नलिखित कमांड का उपयोग करके CopilotKit के साथ आरंभ करें।

 npm i @copilotkit/react-core @copilotkit/react-ui


CopilotKit CopilotKit के साथ इंटरैक्ट करने वाले सभी घटकों को लपेटना चाहिए। आपको CopilotSidebar से भी शुरुआत करनी चाहिए (बाद में किसी दूसरे UI प्रदाता पर स्वैप करें)।

 "use client"; import { CopilotKit } from "@copilotkit/react-core"; import { CopilotSidebar } from "@copilotkit/react-ui"; import "@copilotkit/react-ui/styles.css"; export default function RootLayout({children}) { return ( <CopilotKit publicApiKey=" the API key or self-host (see below)"> <CopilotSidebar> {children} </CopilotSidebar> </CopilotKit> ); }

अधिक जानकारी के लिए आप उनके दस्तावेज़ देख सकते हैं।


कोपाइलटकिट
CopilotKit रिपोजिटरी को स्टार करें ⭐


6. एडर - एआई पेयर-प्रोग्रामर

कल्पना कीजिए कि आपके पास एक ऐसा जोड़ीदार प्रोग्रामर हो जो हमेशा मददगार हो और कभी परेशान न करे। खैर, अब आप समझ गए होंगे!


ऐडर एक एआई-संचालित पेयर प्रोग्रामर है जो टर्मिनल से प्रोजेक्ट शुरू कर सकता है, फाइलों को संपादित कर सकता है, या मौजूदा गिट रिपोजिटरी के साथ काम कर सकता है और बहुत कुछ कर सकता है।

यह GPT4o, सॉनेट 3.5, डीपसीक कोडर, लामा 70बी आदि जैसे अग्रणी एलएलएम के साथ काम करता है।


आप इस तरह शीघ्रता से शुरुआत कर सकते हैं:

 pip install aider-chat # Change directory into a git repo cd /to/your/git/repo # Work with Claude 3.5 Sonnet on your repo export ANTHROPIC_API_KEY=your-key-goes-here aider # Work with GPT-4o on your repo export OPENAI_API_KEY=your-key-goes-here aider

अधिक जानकारी के लिए स्थापना निर्देश और अन्य दस्तावेज़ देखें।

सहायक

Aider रिपोजिटरी को स्टार करें ⭐


7. हेस्टैक - कम्पोज़ेबल आरएजी पाइपलाइन बनाएं

एआई पाइपलाइनों के निर्माण के लिए बहुत सारे फ्रेमवर्क हैं, लेकिन अगर मैं अपने एप्लिकेशन में उत्पादन-तैयार एंड-टू-एंड सर्च पाइपलाइनों को एकीकृत करना चाहता हूं, तो हेस्टैक मेरे लिए सबसे अच्छा विकल्प है।


चाहे वह RAG, Q&A, या अर्थगत खोज हो, हेस्टैक की अत्यधिक संयोजित पाइपलाइनें विकास, रखरखाव और परिनियोजन को आसान बनाती हैं।


उनका साफ और मॉड्यूलर दृष्टिकोण ही उन्हें अलग बनाता है। हेस्टैक आपको रैंकर्स, वेक्टर स्टोर और पार्सर्स को आसानी से नए या मौजूदा पाइपलाइनों में एकीकृत करने देता है, जिससे आपके प्रोटोटाइप को उत्पादन-तैयार समाधानों में बदलना आसान हो जाता है।


हेस्टैक केवल पायथन फ्रेमवर्क है; आप इसे pip उपयोग करके स्थापित कर सकते हैं।

 pip install haystack-ai


अब, हेस्टैक घटकों के साथ अपनी पहली RAG पाइपलाइन बनाएं।

 import os from haystack import Pipeline, PredefinedPipeline import urllib.request os.environ["OPENAI_API_KEY"] = "Your OpenAI API Key" urllib.request.urlretrieve("https://www.gutenberg.org/cache/epub/7785/pg7785.txt", "davinci.txt") indexing_pipeline = Pipeline.from_template(PredefinedPipeline.INDEXING) indexing_pipeline.run(data={"sources": ["davinci.txt"]}) rag_pipeline = Pipeline.from_template(PredefinedPipeline.RAG) query = "How old was he when he died?" result = rag_pipeline.run(data={"prompt_builder": {"query":query}, "text_embedder": {"text": query}}) print(result["llm"]["replies"][0])


अधिक ट्यूटोरियल और अवधारणाओं के लिए, उनके दस्तावेज़ देखें।


सूखी घास का ढेर

हेस्टैक रिपोजिटरी को स्टार करें ⭐


8. Pgvectorscale - सबसे तेज़ वेक्टर डेटाबेस

आधुनिक RAG अनुप्रयोग वेक्टर डेटाबेस के बिना अधूरे हैं। ये दस्तावेज़ों (पाठ, छवियों) को एम्बेडिंग के रूप में संग्रहीत करते हैं, जिससे उपयोगकर्ता अर्थगत रूप से समान दस्तावेज़ों की खोज कर सकते हैं।


Pgvectorscale, PostgreSQL के वेक्टर डेटाबेस PgVector का एक विस्तार है। यह मौजूदा Postgres डेटाबेस के साथ सहजता से एकीकृत हो सकता है।


यदि आप वेक्टर स्टोर के साथ कोई एप्लिकेशन बना रहे हैं, तो यह कोई बड़ी बात नहीं है। Pgvectorscale ने Pinecone के स्टोरेज-ऑप्टिमाइज़्ड इंडेक्स (s1) से बेहतर प्रदर्शन किया है। और इसकी लागत 75% कम है।


आप इसे स्रोत से इंस्टॉल कर सकते हैं, Yum, Homebrew, apt आदि जैसे पैकेज मैनेजर का उपयोग कर सकते हैं, या Docker कंटेनर का उपयोग कर सकते हैं।


इसे आरंभ करने के लिए, संकलित करें और स्थापित करें।

 # install prerequisites ## rust curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ## pgrx cargo install --locked cargo-pgrx cargo pgrx init --pg16 pg_config #download, build and install pgvectorscale cd /tmp git clone --branch <version> https://github.com/timescale/pgvectorscale cd pgvectorscale/pgvectorscale cargo pgrx install --release


अपने डेटाबेस से कनेक्ट करें:

 psql -d "postgres://<username>:<password>@<host>:<port>/<database-name>"


pgvectorscale एक्सटेंशन बनाएँ:

 CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE;


CASCADE स्वचालित रूप से pgvector स्थापित करता है.


एम्बेडिंग कॉलम वाली एक तालिका बनाएँ। उदाहरण के लिए:

 CREATE TABLE IF NOT EXISTS document_embedding ( id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, metadata JSONB, contents TEXT, embedding VECTOR(1536) )


इसका उपयोग कैसे करें, इस बारे में अधिक जानकारी के लिए रिपॉजिटरी देखें।
पीजीवेक्टरस्केल

Pgvectorscale रिपोजिटरी को स्टार करें ⭐


9. GPTCache - AI ऐप्स के लिए सिमेंटिक कैशिंग

एलएलएम महंगे हैं।


यदि आप ऐसा ऐप बना रहे हैं जिसमें चैट मॉडल के साथ अधिक विस्तृत बातचीत की आवश्यकता है और आप क्रेडिट कार्ड का अधिकतम उपयोग नहीं करना चाहते हैं, तो आपको कैशिंग की आवश्यकता होगी।


हालाँकि, यहाँ पारंपरिक कैशिंग का कोई उपयोग नहीं है। यहीं पर GPTCache काम आता है।


यह मिल्वस वेक्टर स्टोर के मूल संगठन, ज़िलिज़ का एक सिमेंटिक कैशिंग टूल है।


यह आपको अपने पसंदीदा वेक्टर स्टोर में वार्तालाप संग्रहीत करने देता है। LLM को क्वेरी भेजने से पहले, यह वेक्टर स्टोर को खोजता है; अगर कोई हिट है, तो यह उसे प्राप्त करता है। अन्यथा, यह अनुरोध को मॉडल पर रूट करता है।


अधिक जानकारी के लिए आधिकारिक दस्तावेज़ पृष्ठ पर जाएं।

GPTCache

GPTCache रिपोजिटरी को स्टार करें ⭐


10. Mem0 (EmbedChain) - व्यक्तिगत LLM ऐप्स बनाएँ

मेम0 बड़े भाषा मॉडल के लिए एक स्मार्ट, स्व-सुधार मेमोरी परत प्रदान करता है।


यह आपको उपयोगकर्ताओं, एजेंटों और सत्रों के लिए स्थायी मेमोरी जोड़ने की सुविधा देता है। यदि आप कस्टम डेटा पर चैटबॉट या Q&A सिस्टम बना रहे हैं, तो Mem0 पर विचार करें।


pip उपयोग करके Mem0 के साथ आरंभ करें.

 pip install mem0ai


यहां बताया गया है कि बड़े भाषा मॉडल में मेमोरी परत जोड़ने के लिए Mem0 का उपयोग कैसे करें।

 from mem0 import Memory # Initialize Mem0 m = Memory() # Store a memory from any unstructured text result = m.add("I am working on improving my tennis skills. Suggest some online courses.", user_id="Alice", metadata={"category": "hobbies"}) print(result) # Created memory: Improving her tennis skills. Looking for online suggestions. # Retrieve memories all_memories = m.get_all() print(all_memories) # Search memories related_memories = m.search(query="What are Alice's hobbies?", user_id="alice") print(related_memories) # Update a memory result = m.update(memory_id="m1", data="Likes to play tennis on weekends") print(result) # Get memory history history = m.history(memory_id="m1") print(history)

अधिक जानकारी के लिए आधिकारिक दस्तावेज देखें।
मेम०

Mem0 ( एम्बेडचेन) रिपोजिटरी को स्टार करें ⭐


11. FastEmbed - दस्तावेज़ों को तेज़ी से एम्बेड करें

सॉफ्टवेयर विकास में निष्पादन की गति सर्वोपरि है, और एआई अनुप्रयोग बनाते समय यह और भी अधिक महत्वपूर्ण है।

आम तौर पर, एम्बेडिंग जेनरेशन में लंबा समय लग सकता है, जिससे पूरी पाइपलाइन धीमी हो जाती है। हालाँकि, ऐसा नहीं होना चाहिए।

क्यूड्रैंट का फास्टएम्बेड एक तेज, हल्की पायथन लाइब्रेरी है जो एम्बेडिंग निर्माण के लिए बनाई गई है।


यह Pytorch के बजाय ONNX रनटाइम का उपयोग करता है, जिससे यह तेज़ हो जाता है। यह अधिकांश अत्याधुनिक ओपन-सोर्स एम्बेडिंग मॉडल का भी समर्थन करता है।


FastEmbed के साथ आरंभ करने के लिए, इसे pip का उपयोग करके इंस्टॉल करें।

 pip install fastembed # or with GPU support pip install fastembed-gpu


यहां बताया गया है कि आप दस्तावेजों की एम्बेडिंग कैसे बना सकते हैं।

 from fastembed import TextEmbedding from typing import List # Example list of documents documents: List[str] = [ "This is built to be faster and lighter than other embedding libraries, eg Transformers, Sentence-Transformers, etc.", "FastEmbed is supported by and maintained by Quadrant." ] # This will trigger the model download and initialization embedding_model = TextEmbedding() print("The model BAAI/bge-small-en-v1.5 is ready to use.") embeddings_generator = embedding_model.embed(documents) # reminder this is a generator embeddings_list = list(embedding_model.embed(documents)) # You can also convert the generator to a list, and that to a Numpy array len(embeddings_list[0]) # Vector of 384 dimensions


अधिक जानकारी के लिए उनके भंडार की जांच करें।

फास्टएम्बेड

FastEmbed रिपोजिटरी को स्टार करें ⭐


12. प्रशिक्षक - एलएलएम से संरचित डेटा निष्कर्षण

यदि आपने एलएलएम आउटपुट के साथ काम किया है, तो आप जानते होंगे कि संरचित प्रतिक्रियाओं को मान्य करना चुनौतीपूर्ण हो सकता है।


इंस्ट्रक्टर एक ओपन-सोर्स टूल है जो एलएलएम आउटपुट के सत्यापन, पुनः प्रयास और स्ट्रीमिंग को सुव्यवस्थित करता है।


यह डेटा सत्यापन के लिए पायथन के लिए पायडैंटिक और JS/TS के लिए ज़ोड का उपयोग करता है और ओपनएआई से परे विभिन्न मॉडल प्रदाताओं का समर्थन करता है।


निम्नलिखित आदेश का उपयोग करके प्रशिक्षक के साथ आरंभ करें।

 npm i @instructor-ai/instructor zod openai


अब, यहां बताया गया है कि आप LLM प्रतिक्रियाओं से संरचित डेटा कैसे निकाल सकते हैं।

 import Instructor from "@instructor-ai/instructor"; import OpenAI from "openai" import { z } from "zod" const oai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY ?? undefined, organization: process.env.OPENAI_ORG_ID ?? undefined }) const client = Instructor({ client: oai, mode: "TOOLS" }) const UserSchema = z.object({ // Description will be used in the prompt age: z.number().describe("The age of the user"), name: z.string() }) // User will be of type z.infer<typeof UserSchema> const user = await client.chat.completions.create({ messages: [{ role: "user", content: "Jason Liu is 30 years old" }], model: "gpt-3.5-turbo", response_model: { schema: UserSchema, name: "User" } }) console.log(user) // { age: 30, name: "Jason Liu" }

अधिक जानकारी के लिए आधिकारिक दस्तावेज़ पृष्ठ पर जाएं।


प्रशिक्षक

प्रशिक्षक को स्टार दें ⭐


13. लाइटएलएलएम - ओपनएआई प्रारूप में एलएलएम के लिए ड्रॉप-इन प्रतिस्थापन

ईमानदारी से कहें तो, हम सभी ने कभी न कभी इस बात पर चिल्लाया होगा कि कोई नया मॉडल प्रदाता टेक्स्ट, छवि या एम्बेडिंग निर्माण के लिए OpenAI SDK प्रारूप का पालन नहीं करता है।


हालाँकि, LiteLLM के साथ, समान कार्यान्वयन प्रारूप का उपयोग करके, आप OpenAI मॉडल के लिए ड्रॉप-इन प्रतिस्थापन के रूप में किसी भी मॉडल प्रदाता (क्लाउड, जेमिनी, ग्रोक, मिस्ट्रल, एज़्योर एआई, बेडरॉक, आदि) का उपयोग कर सकते हैं।


वे 100 से अधिक LLM में लोड-बैलेंसिंग, फ़ॉलबैक और व्यय ट्रैकिंग का भी समर्थन करते हैं।


pip उपयोग करके LiteLLM स्थापित करें.

 pip install litellm


यहां बताया गया है कि आप GPT मॉडल के लिए ड्रॉप-इन प्रतिस्थापन के रूप में क्लाउड-2 मॉडल का उपयोग कैसे कर सकते हैं।

 from litellm import completion import os # LiteLLM with OpenAI Models os.environ["OPENAI_API_KEY"] = "your-API-key" response = completion( model="gpt-3.5-turbo", messages=[{ "content": "Hello, how are you?","role": "user"}] ) # LiteLLM with Claude Models os.environ["ANTHROPIC_API_KEY"] = "your-API-key" response = completion( model="claude-2", messages=[{ "content": "Hello, how are you?","role": "user"}] )


अधिक जानकारी के लिए, उनके आधिकारिक दस्तावेज़ देखें।


litellm

लाइटएलएलएम को स्टार करें ⭐


क्या आप कोई अन्य अच्छा टूल या फ्रेमवर्क इस्तेमाल करते हैं या बना चुके हैं?


मुझे टिप्पणियों में उनके बारे में बताएं :)