LLM building involves several steps, and this diagram captures It quite well.
The survey paper is a great resource and is a very good starting point if you want to learn more about LLMs
Link to survey paper - https://t.co/K0L0b0nR8T
What is the best way to learn SQL?
In 1986, SQL (Structured Query Language) became a standard. Over the next 40 years, it became the dominant language for relational database management systems. Reading the latest standard (ANSI SQL 2016) can be time-consuming. How can I learn it?
There are 5 components of the SQL language:
- DDL: data definition language, such as CREATE, ALTER, DROP
- DQL: data query language, such as SELECT
- DML: data manipulation language, such as INSERT, UPDATE, DELETE
- DCL: data control language, such as GRANT, REVOKE
- TCL: transaction control language, such as COMMIT, ROLLBACK
For a backend engineer, you may need to know most of it. As a data analyst, you may need to have a good understanding of DQL. Select the topics that are most relevant to you.
Over to you: What does this SQL statement do in PostgreSQL: “select payload->ids->0 from events”?
—
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/uc5M7CdXXC
Microsoft, Google, Harvard, and DeepLearning have all released free courses on AI and ChatGPT.
Here are the top 10 free courses I'd recommend to learn AI in 2023:
SSO (Single Sign-On) Explained.
SSO can be thought of as a master key to open all different locks. It allows a user to log in to different systems using a single set of credentials.
In a time where we are accessing more applications than ever before, this is a big help to mitigate password fatigue and streamlines user experience.
To fully understand the SSO process, 𝗹𝗲𝘁’𝘀 𝘁𝗮𝗸𝗲 𝗮 𝗹𝗼𝗼𝗸 𝗮𝘁 𝗵𝗼𝘄 𝗮 𝘂𝘀𝗲𝗿 𝘄𝗼𝘂𝗹𝗱 𝗹𝗼𝗴 𝗶𝗻𝘁𝗼 𝗟𝗶𝗻𝗸𝗲𝗱𝗜𝗻 𝘂𝘀𝗶𝗻𝗴 𝗚𝗼𝗼𝗴𝗹𝗲 𝗮𝘀 𝘁𝗵𝗲 𝗶𝗱𝗲𝗻𝘁𝗶𝘁𝘆 𝗽𝗿𝗼𝘃𝗶𝗱𝗲𝗿:
𝟭) 𝗨𝘀𝗲𝗿 𝗿𝗲𝗾𝘂𝗲𝘀𝘁𝘀 ���𝗰𝗰𝗲𝘀𝘀
First, the user would attempt to access the Service Provider (LinkedIn). At this point, a user would be presented with login options, and in this example, they would select "Sign in with Google".
𝟮) 𝗔𝘂𝘁𝗵𝗲𝗻𝘁𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗿𝗲𝗾𝘂𝗲𝘀𝘁
From here, the Service Provider (LinkedIn) will redirect the user to the Identity Provider (Google) with an authentication request.
𝟯) 𝗜𝗱𝗣 𝗰𝗵𝗲𝗰𝗸𝘀 𝗳𝗼𝗿 𝗮𝗰𝘁𝗶𝘃𝗲 𝘀𝗲𝘀𝘀𝗶𝗼𝗻
Once the Identity Provider (Google) has received the request, it will check for an active session. If it doesn't find one, authentication will be requested.
𝟰) 𝗨𝘀𝗲𝗿 𝘀𝘂𝗯𝗺𝗶𝘁𝘀 𝗰𝗿𝗲𝗱𝗲𝗻𝘁𝗶𝗮𝗹𝘀
At this stage, the user will submit their login credentials (username and password) to the Identity Provider (IdP).
𝟱) 𝗜𝗱𝗣 𝘃𝗲𝗿𝗶𝗳𝗶𝗲𝘀 𝗰𝗿𝗲𝗱𝗲𝗻𝘁𝗶𝗮𝗹𝘀
The Identity Provider will then verify the submitted credentials against its User Directory (database). If the credentials are correct, the IdP will create an authentication token or assertion.
𝟲) 𝗜𝗱𝗣 𝘀𝗲𝗻𝗱𝘀 𝘁𝗼𝗸𝗲𝗻 𝘁𝗼 𝗦𝗲𝗿𝘃𝗶𝗰𝗲 𝗣𝗿𝗼𝘃𝗶𝗱𝗲𝗿
Once the token or assertion has been created, the IdP sends it back to the Service Provider confirming the user's identity. The user is now authenticated and can access the Service Provier (LinkedIn).
𝟳) 𝗔𝗰𝗰𝗲𝘀𝘀 𝗴𝗿𝗮𝗻𝘁𝗲𝗱 𝘂𝘀𝗶𝗻𝗴 𝗲𝘅𝗶𝘀𝘁𝗶𝗻𝗴 𝘀𝗲𝘀𝘀𝗶𝗼𝗻
Since the Identity Provider has established a session, when the user goes to access a different Service Provider (eg; GitHub), they won't need to re-enter their credentials. Future service providers will request authentication from the Identity Provider, recognize the existing session, and grant access to the user based on the previously authenticated session.
SSO workflows like the above operate on SSO protocols, which are a set of rules that govern how the IdP and SP communicate and trust each other. Common protocols include Security Assertion Markup Language (SAML), OpenID Connect, and OAuth.
It's officially been 24 hours since the OpenAI DevDay announcements.
The leaks were true. The way we use ChatGPT is about to completely change.
Here are 12 shocking things people have already built (early access):
🚨 BREAKING: OpenAI just released 128k context GPT-4 Turbo at 1/3rd the price.
This means GPT-4 is cheaper, faster, and can now read a prompt as long as an entire book.
The announcement comes with additional huge news for developers:
- New Assistants API for Code Interpreter and Retrieva
- GPT-4 Turbo updated knowledge cutoff to April 2023
- New GPT-4 Turbo Vision API
- New Dall-E 3 API
- New text-to-speech API (6 preset voices to choose from & insanely realistic voice)
- A new Whisper V3 model coming soon
- Slashed rate limits (cheaper development costs)
Prepare for a whole new wave of AI tools.
GPTs are a new way for anyone to create a tailored version of ChatGPT to be more helpful in their daily life, at specific tasks, at work, or at home — and then share that creation with others. No code required. https://t.co/SPV4TcMiQw
@saedmihamed270@daliaziada معلش ثانيه كده! احا انت بتقارني بدي؟ لا لا لا خخخخخخخخخ عشان قولت ان فنان كلامه كان المفروض يتقال احسن من كده عشان سبب مشاكل بين الناس، تقارني بواحده قالت ان ا*رائيل بتحارب حرب لبلاد الشرق الاوسط؟ بص انا مستحملش لڤيل التخلف ده. Way below my IQ.
@saedmihamed270@daliaziada كشف عذريه ايه مش فاهمه حاجه؟ 😂 ثانيا طبعا بتتكلم عن فيديو محمد سلام ابن اخوك اللي محموقله اوي كده و جاي تشتم عشان موفقتوش في طريقه كلامه 😂 اعتذرت علي طريقتي في الكلام و اني مدخلتش في نيته و ان دي مشكله من اللي شوفته في السوشيال ميديا هحلها مع نفسي
How To LLM Over Structured Data vs. Unstructured Data
Enterprises have their data in multiple places - e.g Snowflake, GDrive or Salesforce. The data is typically a combination of both structured and unstructured data and typically exists in different formats - CSV, PDF, Word etc
PDF docs with complex tables can get quite gnarly and often times the structured and unstructured data is mixed in together.
So how exactly do you go about using all this data to build a LLM app for your enterprise? Over at Abacus AI we have already build thousands of these applied AI systems and LLM apps.
You need to orchestrate a bunch of steps to build the app. You start with data connectors to grab the data.
The next piece is the data processing.
PDF extraction - This can be tricky as different OCR models perform differently, so experimentation with different OCR services is recommended If the PDFs have tables, care must be taken to extract the rows correctly
Chunking - You typically want to chunk your documents into smaller pieces. For structured data, we recommend leaving it in your data lake or data warehouse.
Embedding - This is key, you will need to try different embedding strategies based on different use-cases and your data.
For example, embedding a bunch of python APIs will be different form embedding a bunch of word documents. So you have to choose your embedding strategy very carefully.
Doc Retrievers and Vector Stores - In most enterprise use-cases, there is retrieval step before the LLM step. This is the process of getting the content that has the relevant response and passing that content as part of the LLM context. Now when you have both structured and un-structured data, you have a couple of different choices.
If you have mostly unstructured data and some structured data from PDF tables, we commend option 1, otherwise we recommend option 2.
Option 1 - Meta-data filters- When you have a large amount of un-structured data and some structured data, you can use mata-data filters on you doc retrievers and/or vector stores
Metadata filters in document retrieval systems aid in narrowing down the search to relevant documents by utilizing auxiliary information like author, date, or tags. In contrast, vector stores house vectors representing documents or words in a multi-dimensional space, facilitating similarity-based retrieval through proximity measures with a query vector.
Integrating metadata filters with vector stores can enhance retrieval precision by ensuring that the documents retrieved are not only semantically relevant but also meet specific auxiliary criteria outlined by the metadata.
Option 2 - We suggest this option if you have a lot of structured data in a database. In this case, you want to use the "text-to-sql" capability of LLMs, the LLM will generate the SQL that you would execute on your data-source
Ideally, there is an orchestrator that based on whichever option you decide to use, will either generate the SQL query or the request to your vector store with the appropriate meta-data filters.
The end user inside the enterprise or the consumer doesn't need to worry about the data source, they simply can use their interface to the chat bot - a custom chatGPT like interface or a bot on Teams/Slack.
End to end LLMOps platforms like Abacus AI can automate each of these steps. As a data scientist you can experiment with different embedding, chunking, LLM and vector store strategies in a matter of hours and pick the right strategy for your use-case.
Some teams are still busy building each of these pieces on their own. It's probably a waste of time to re-invent the wheel so many times, in every company, instead go to market quickly with your LLM app and work on what really differentiates your organization from others.
OK, just hear me out:
1. You get $500 from 20 of your buddies. You call yourself an "investment fund".
2. Your 20 buddies each individually launch their own "startup".
3. You "invest" $10K into buddy #1's "startup" at $1M valuation.
4. He becomes an "angel investor" and "invests" that $10K into buddy #2's startup.
5. The process continues for all 20 "startups".
6. #20 startup "invests" into startup #1 for the "second round of funding"
7. They all go through 1,000+ "rounds of funding".
8. BAM! All your buddies are now billionaire unicorn founders, and you are the most successful VC in the Valley! 😎
Selena Gomez shares statement on Israel and Palestine:
“I'm sorry if my words will never be enough for everyone or a hashtag. I just can't stand by innocent people getting hurt. That's what makes me sick. I wish I could change the world. But a post won't.”