Slide 1

Slide 1 text

Large Language Models, data & APIs: Integrating Generative AI power – with Python & .NET Christian Weyer Co-Founder & CTO @christianweyer

Slide 2

Slide 2 text

§ Technology catalyst § AI-powered solutions § Pragmatic end-to-end architectures § Microsoft Regional Director § Microsoft MVP for Developer Technologies & Azure ASPInsider, AzureInsider § Google GDE for Web Technologies [email protected] @christianweyer https://www.thinktecture.com Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Christian Weyer Co-Founder & CTO @ Thinktecture AG 2

Slide 3

Slide 3 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Our journey today 3 AI all-the- things? LLMs in your Solutions Talk to your Data Exciting Times… Democratizing Generative AI Talk to your Systems

Slide 4

Slide 4 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET AI all-the-things? 4

Slide 5

Slide 5 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET A.I. 5

Slide 6

Slide 6 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET AI all-the-things? 6 Data Science Artificial Intelligence Machine Learning Unsupervised, supervised, reinforcement learning Deep Learning ANN, CNN, RNN etc. NLP (Natural Language Processing) Generative AI GAN, VAE, Transformers etc. Image / Video Generation GAN, VAE Large Language Models Transformers

Slide 7

Slide 7 text

§ LLMs generate text based on input § LLMs can understand text – this changes a lot § Without having to train them on domains or use cases § Prompts are the universal interface (“UI”) → unstructured text with semantics § Human language evolves as a first-class citizen in software architecture 🤯 Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Large Language Models (LLMs) 7 Text… – really, just text?

Slide 8

Slide 8 text

Talk to company knowledge Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET DEMO 8

Slide 9

Slide 9 text

§ LLMs are programs § LLMs are highly specialized neural networks § LLMs use(d) lots of data § LLMs need a lot of resources to be operated § LLMs have an API to be used through Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Large Language Models demystified 9

Slide 10

Slide 10 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET LLMs in your Solutions 10

Slide 11

Slide 11 text

§ LLMs are always part of end-to-end architectures § HTTP/Web/REST APIs § Databases § Client apps (Web, desktop, mobile) § etc. § An LLM is ‘just’ an additional asset in your architecture § It is not the Holy Grail for everything! Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET End-to-end architectures with LLMs 11

Slide 12

Slide 12 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Using LLMs: It’s just HTTP APIs Inference, FTW. 12

Slide 13

Slide 13 text

GPT-4 API access OpenAI Playground Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET DEMO 13

Slide 14

Slide 14 text

§ Barebones SDKs § Abstraction over HTTP APIs § E.g. Open AI SDK, Mistral SDK § Available for any programming language § Also available from other providers Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Building LLM-based end-to-end applications 14

Slide 15

Slide 15 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET The best tool for any developer to talk to LLMs! 15 🙈

Slide 16

Slide 16 text

§ OSS framework for developing applications powered by LLMs § > 1000 contributors § Python and Typescript versions § Chains for sequences of LLM-related actions in code § Abstractions for § Prompts & LLMs (local and remote) § Memory § Vector stores § Tools § Loading text from a wide range of sources § Alternatives like LlamaIndex, Haystack, etc. Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET LangChain - building LLM-based applications 16

Slide 17

Slide 17 text

§ Microsoft’s open-source framework to integrate LLMs into applications § .NET, Python, and Java versions § Plugins encapsulate AI capabilities § Semantic functions for prompting § Native functions to run local code § Chain is collection of Plugins § Planners are similar to Agents in LangChain § Not as broad feature set as LangChain § E.g., no concept/abstraction for loading data Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Semantic Kernel 17

Slide 18

Slide 18 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Talk to your Data 18

Slide 19

Slide 19 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Answering Questions on Data Retrieval-augmented generation (RAG) Cleanup & Split Text Embedding Question Text Embedding Save Query Relevant Text Question Answer LLM 19 Embedding model Embedding model 💡 Indexing / Embedding Question Answering Vector DB

Slide 20

Slide 20 text

RAG: Chat with web site documents Semantic Kernel, GPT-3.5-Turbo Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET DEMO 20

Slide 21

Slide 21 text

RAG: Learning about company’s policies via Slack LangChain, Weaviate – Mixtral-8x7B on Groq Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET DEMO 21

Slide 22

Slide 22 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Talk to your Systems 22

Slide 23

Slide 23 text

§ LLM can be instructed to, e.g. § Do sentiment analysis § Extract information from text § Extract structured information § Schema description: JSON, TypeScript types, etc. § Implement via tools like Kor, TypeChat, or Open AI Function / Tool Calling Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Extracting meaning in text for structured data 23

Slide 24

Slide 24 text

Extracting structured data from text: Flight search OpenAI Function Calling, LangChain, FastAPI, JS - GPT-4-Turbo Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET DEMO 24

Slide 25

Slide 25 text

Extracting structured data from voice: Form filling JSON extraction, OpenAI JS SDK, Angular Forms - Mixtral-8x7B on Groq Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET DEMO 25

Slide 26

Slide 26 text

§ Integrate LLM-external systems to aid LLMs § Tool / function calling standard established by OpenAI § LLM outputs JSON containing arguments to call one or many functions § LLM does not call the function § All major libs support tool calling § OpenAI SDKs § LangChain § Semantic Kernel § etc. Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Extending LLM capabilities 26 curl https://api.openai.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "gpt-3.5-turbo", "messages": [ { "role": "user", "content": "What is the weather like in Boston?" } ], "tools": [ { "type": "function", "function": { "name": "get_current_weather", "description": "Get the current weather in a given location", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, CA" }, "unit": { "type": "string", "enum": ["celsius", "fahrenheit"] } }, "required": ["location"] } } } ], "tool_choice": "auto" }'

Slide 27

Slide 27 text

Extending LLM capabilities OpenAI Tool Calling with Semantic Kernel Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET DEMO 27

Slide 28

Slide 28 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Democratizing Generative AI 28

Slide 29

Slide 29 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET LLMs everywhere OpenAI-related (cloud) OpenAI Azure OpenAI Service Big cloud providers Google Model Garden on Vertex AI Amazon Bedrock Open-source Edge IoT Server Desktop Mobile Web 29 Other providers Antrophic Cohere Mistral AI Hugging Face Open-source

Slide 30

Slide 30 text

§ Open-source community drives innovation in Generative AI § Important factors § Use case § Parameter size § Quantization § Processing power needed § Mistral-based family shows big potential for local use cases (7B params) Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Open-source LLMs thrive 30

Slide 31

Slide 31 text

Local RAG: Mistral-7B open-source LLM llama.cpp, ollama, LangChain, StreamLit Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET DEMO 31

Slide 32

Slide 32 text

Offline in browser: Running open-source LLMs with WebAssembly & WebGPU web-llm Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET DEMO 32

Slide 33

Slide 33 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET End-to-End 33

Slide 34

Slide 34 text

34 Angular PWA OpenAI Speech-to-Text TT Panorama Gateway OpenAI GPT-4 OpenAI Text-to-Speech Transcribe spoken text Transcribed text Check for experts availability with text Extract { experts, booking times } from text Structured JSON data Generate response with availability Response Response with experts availability 🗣 🔉 Speech-to-text for response Response audio TT Panorama Query Panorama API Availability Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET

Slide 35

Slide 35 text

Ask for experts availability in my company systems Angular, Speech-to-text, internal HTTP API, node.js OpenAI SDK + Tool Calling, Text-to-speech – GPT-4-Turbo Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET DEMO 35

Slide 36

Slide 36 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Exciting Times… 36

Slide 37

Slide 37 text

§ LLMs enable new scenarios & use cases to incorporate human language into software solutions § Fast moving and changing field § Every week something “big” happens in LLM space § Frameworks & ecosystem are evolving together with LLMs § Closed vs open LLMs § Competition drives invention & advancement § SLMs: specialized, fine-tuned for domains § SISO (sh*t in, sh*t out) § Quality of results heavily depends on your data & input Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET Current state 37

Slide 38

Slide 38 text

Large Language Models, data & APIs: Integrating Generative AI power With Python & .NET 2024: The year of SLMs & CPU inference 38

Slide 39

Slide 39 text

Thank you! Christian Weyer https://thinktecture.com/christian-weyer 39