Skip to content

Commit

Permalink
update with exercises and Develop content
Browse files Browse the repository at this point in the history
  • Loading branch information
gbrah committed Nov 20, 2024
1 parent 341173f commit b0692b4
Show file tree
Hide file tree
Showing 9 changed files with 507 additions and 81 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
**/.DS_Store
**/.DS_Store
docs/src/assets/.DS_Store
Binary file modified docs/src/.vuepress/public/favicon.ico
Binary file not shown.
Binary file modified docs/src/assets/.DS_Store
Binary file not shown.
Binary file added docs/src/assets/images/assistant.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
80 changes: 64 additions & 16 deletions docs/src/develop/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,77 @@

## Github Copilot

### Completion
### Assistance
### Refactoring
### Test generation
### Documentation
### Architecture diagram
::: tip Update
Copilot can now use other LLMs than OpenAI, including Google, and Anthropic to provide code suggestions
:::

## Cloud LLMs
* Azure APIs, Gemini APIs, OpenAI
* with curl + then python client
Github Copilot is a tool that uses the OpenAI language models to provide code suggestions and suggestions for improving code quality.

## Advanced RAG
* Use of llama-index or Langchain4j so if we want to do JAVA
::: tip Alternative code assistance
There is also other producs indegrated to IDEs such as [Gitlab Duo](https://about.gitlab.com/fr-fr/gitlab-duo/), [Gemini Code Assist](https://cloud.google.com/gemini/docs/codeassist/overview?hl=fr), [SuperMaven](https://supermaven.com/), [AWS CodeWhisperer](https://docs.aws.amazon.com/codewhisperer/latest/userguide/what-is-cwspr.html), and more.
:::

### Function calling / Json Mode
* see Demo Jean François
### Copilot Chat

Copilot Chat is a chat interface that allows you to ask questions and get suggestions for code improvements.

it's available on :
- JetBrains IDEs
- Visual Studio
- Visual Studio Code
- In Github mobile App
- Web version in github.com (Preview)

It is a similar approach to chat GPT prompting optimised for the developper experience.



### CLI
CLI helps you using you command line interpreter
You can use it in the terminal with the following command:

```bash
gh auth login
gh extension install github.copilot
gh copilot explain "traceroute github.com"
````
::: warning
Github CLI is not supported yet with our Worldline account, so you need to use the web version with the link here
:::

### JetBrains integration

#### Completion
#### Assistance
#### Refactoring
#### Test generation
#### Documentation
#### Architecture diagram

### VSCode integration

#### Completion
#### Assistance
#### Refactoring
#### Test generation
#### Documentation
#### Architecture diagram


## Gihub Spark
[GitHub Spark](https://githubnext.com/projects/github-spark#introducing-github-spark) is an AI-powered tool for creating and sharing micro apps (“sparks”), which can be tailored to your exact needs and preferences, and are directly usable from your desktop and mobile devices. Without needing to write or deploy any code.

And it enables this through a combination of three tightly-integrated components:

An NL-based editor, which allows easily describing your ideas, and then refining them over time
A managed runtime environment, which hosts your sparks, and provides them access to data storage, theming, and LLMs
A PWA-enabled dashboard, which lets you manage and launch your sparks from anywhere

### Local RAG
* (Ollama CLI)

## 🧪 Exercises

## 📖 Further readings
* Data platform, Stephan Pirson, MS, https://worldline365.sharepoint.com/_forms/. spfxsinglesignon.aspx.
*[Worldline AI coding assistant](https://confluence.worldline-solutions.com/display/AICA/AI+Coding+Assistants+Home)
* [Worldline Data platform](https://confluence.worldline-solutions.com/display/DPTECHNO/Data+Platform)


57 changes: 23 additions & 34 deletions docs/src/llm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,23 @@

LibreChat is a free, open source AI chat platform. This Web UI offers vast customization, supporting numerous AI providers, services, and integrations. Serves all AI Conversations in one place with a familiar interface, innovative enhancements, for as many users as you need.

1. Prompts history
2. AI providers
3. AI model version
4. Preformatted prompts
5. RAG
The full librechat documentation is available [here](https://www.librechat.ai/docs)

## Favorites
Let's discover how to use LibreChat to create efficient and effective conversations with AI for developers.

## Prompts history
Prompts history allows users to save and load prompts for their conversations and easily access them later. Reusing prompts can save time and effort, especially when working with multiple conversations and keep track of the context and details of a conversation.

The favorites feature in our app is a powerful tool that allows users to save and load favorite prompts for their conversations.
## Favorites
The favorites feature allows users to save and load favorite prompts for their conversations and easily access them later.

## Presets
The `presets` feature in our app is a powerful tool that allows users to save and load predefined settings for initialise a conversations. Users can import and export these presets as JSON files, set a default preset, and share them with others.
The `presets` feature allows users to save and load predefined settings for initialise a conversations. Users can import and export these presets as JSON files, set a default preset, and share them with others.

## Preformatted prompts

The prompts feature in our app is a powerful tool that allows users to save and load predefined prompts for their conversations.
The prompts feature allows users to save and load predefined prompts to use it during their conversations.
You can use a prompt with the /[`prompt command`]. A prompt can have parameters, which are replaced with values when the prompt is used.

Prompts creation is available at the right sidebar. You can create a new prompt, edit an existing prompt, or delete a prompt.

**Exemple of preformatted prompts : Explain the following code snippet in Java, Kotlin or Javascript**

* Click on the `+` button to add a new prompt.
Expand All @@ -42,26 +39,18 @@ Explain the following {{language:Java|Kotlin|Javascript}} snippet of code:
## AI providers

### Azure OpenAI
Azure AI Search (formerly known as "Azure Cognitive Search") provides secure information retrieval at scale over user-owned content in traditional and generative AI search applications.
Azure OpenAI Service provides REST API access to OpenAI's powerful language models, including the o1-preview, o1-mini, GPT-4o, GPT-4o mini, GPT-4 Turbo with Vision, GPT-4, GPT-3.5-Turbo, and Embeddings model series.

Information retrieval is foundational to any app that surfaces text and vectors. Common scenarios include catalog or document search, data exploration, and increasingly feeding query results to prompts based on your proprietary grounding data for conversational and copilot search. When you create a search service, you work with the following capabilities:
### Google Gemini
Gemini is a large language model (LLM) developed by Google. It's designed to be a multimodal AI, meaning it can work with and understand different types of information, including text, code, audio, and images. Google positions Gemini as a highly capable model for a range of tasks, from answering questions and generating creative content to problem-solving and more complex reasoning. There are different versions of Gemini, optimized for different tasks and scales.

* A search engine for vector search and full text and hybrid search over a search index
* Rich indexing with integrated data chunking and vectorization (preview), lexical analysis for text, and optional applied AI for content extraction and transformation
* Rich query syntax for vector queries, text search, hybrid queries, fuzzy search, autocomplete, geo-search and others
* Azure scale, security, and reach
* Azure integration at the data layer, machine learning layer, Azure AI services and Azure OpenAI

### Google
Google Programmable Search Engine (formerly known as Google Custom Search and Google Co-op) is a platform provided by Google that allows web developers to feature specialized information in web searches, refine and categorize queries and create customized search engines, based on Google Search

### Anthropic
### Anthropic Claude
Claude is an Artificial Intelligence, trained by Anthropic. Claude can process large amounts of information, brainstorm ideas, generate text and code, help you understand subjects, coach you through difficult situations, help simplify your busywork so you can focus on what matters most, and so much more.

## Assistants
The Assistants API enables the creation of AI assistants, offering functionalities like code interpreter, knowledge retrieval of files, and function execution. The Assistants API allows you to build AI assistants within your own applications. An Assistant has instructions and can leverage models, tools, and files to respond to user queries. The Assistants API currently supports three types of tools: Code Interpreter, File Search, and Function calling.
The Assistants API enables the creation of AI assistants, offering functionalities like code interpreter, knowledge retrieval of files, and function execution. The Assistants API allows you to build AI assistants within your own applications for specific needs. An Assistant has instructions and can leverage models, tools, and files to respond to user queries. The Assistants API currently supports three types of tools: Code Interpreter, File Search, and Function calling.

### Azure Assistant
![assistant](../assets/images/assistant.png)

## Plugins
The plugins endpoint opens the door to prompting LLMs in new ways other than traditional input/output prompting.
Expand Down Expand Up @@ -110,31 +99,31 @@ You can mix plugins to create more complex prompts. For example, you can use the
```
Generate the favicon 16x16 pixels based on the content found in
https://worldline.github.io/learning-ai/overview/ with Browser plugin
and generate the favicon with DallE. I want no background and black and
white style image
and generate the favicon with DallE. I want no background and black and white image
```
![prompt](../assets/images/multi_plugin.png)
![Favicon](../assets/images/result_prompt.png)

## RAG

RAG is possible with LIbrechat. You can use RAG to create a conversation with the AI.
RAG is possible with LibreChat. You can use RAG to create a conversation with the AI.
To can add files to the conversation, you go to the file tab and select the file you want to add. Then the file will be added to the file manager and you can use it in the prompt.

The file can be an png, a video, a text file, or a PDF file.

## 🧪 Exercises

#### Try to make a request respecting Persona, Task and Context, and format structure

#### Prompt creation
#### 1. Prompt creation

Select one prompt engineering technique and make a prompt in librechat that can be called with the `/[prompt_name]` command.

#### Plugins mixing
#### 2. Plugins mixing

Use the Browse and Dall-E plugins to create a prompt that generates a a favicon based on the content of this learning-ai website.

Use the Browse and Dall-E plugins to create a prompt that generates a technical diagram based on the content of this learning-ai website
#### 3. Make your own assistant

Choose your favorite topic ( cooking, travel, sports, etc.) and create an assistant that can answer questions about it. You can share documents, files and instructions to configure your custom assistant and use it.

## 📖 Further readings
* [LibreChat Worldline guides](https://worldline365.sharepoint.com/:u:/r/sites/GenerativeAIQA/SitePages/LibreChat-guides.aspx?csf=1&web=1&e=evKJpU)
Expand Down
123 changes: 123 additions & 0 deletions docs/src/overview/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,129 @@ During the turing test, the human questioner asks a series of questions to both

![top50](../assets/images/top50.png)

## 🧪 Exercises

<div>
<h3>1. LLMs and MMLLMs are constantly evolving.</h3>
<label><input type="checkbox" /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>2. Multi-Modal LLMs can process and generate only text data.</h3>
<label><input type="checkbox" /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>3. Which of the following are examples of Machine Learning applications?</h3>
<label><input type="checkbox" /> Image recognition</label><br />
<label><input type="checkbox" /> Natural language processing</label><br />
<label><input type="checkbox" /> Cloud deployment</label><br />
<label><input type="checkbox" /> Shell scripting</label>
<h3>4. Deep Learning uses artificial neural networks with multiple layers.</h3>
<label><input type="checkbox" /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>5. Natural Language Processing (NLP) includes which of the following?</h3>
<label><input type="checkbox" /> Text Analysis</label><br />
<label><input type="checkbox" /> Language Understanding</label><br />
<label><input type="checkbox" /> Cloud Computing</label><br />
<label><input type="checkbox" /> Shell Commands</label>
<h3>6. RAG stands for Retrieval Augmented Generation.</h3>
<label><input type="checkbox" /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>7. LLMs can only generate text and cannot understand it.</h3>
<label><input type="checkbox" /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>8. Which of the following is NOT a type of Machine Learning?</h3>
<label><input type="checkbox" /> Supervised Learning</label><br />
<label><input type="checkbox" /> Unsupervised Learning</label><br />
<label><input type="checkbox" /> Reinforcement Learning</label><br />
<label><input type="checkbox" /> Predictive Learning</label>
<h3>9. Deep Learning models require less data than traditional Machine Learning models.</h3>
<label><input type="checkbox" /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>10. Natural Language Processing can be used for sentiment analysis.</h3>
<label><input type="checkbox" /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>11. Which of the following are common applications of Deep Learning?</h3>
<label><input type="checkbox" /> Image Classification</label><br />
<label><input type="checkbox" /> Speech Recognition</label><br />
<label><input type="checkbox" /> Data Entry Automation</label><br />
<label><input type="checkbox" /> Fraud Detection</label>
<h3>12. RAG can improve the accuracy of responses generated by LLMs.</h3>
<label><input type="checkbox" /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>13. Which of the following is a benefit of using Cloud Computing for AI?</h3>
<label><input type="checkbox" /> Scalability</label><br />
<label><input type="checkbox" /> Cost Efficiency</label><br />
<label><input type="checkbox" /> Limited Accessibility</label><br />
<label><input type="checkbox" /> Enhanced Security</label>
<h3>14. The Turing Test is designed to evaluate a machine's ability to exhibit intelligent behavior.</h3>
<label><input type="checkbox" /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>15. Multi-Modal LLMs can only process text and images.</h3>
<label><input type="checkbox" /> True</label><br />
<label><input type="checkbox" /> False</label>
</div>


::: details Solution

<div>
<h3>1. LLMs and MMLLMs are constantly evolving.</h3>
<label><input type="checkbox" checked /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>2. Multi-Modal LLMs can process and generate only text data.</h3>
<label><input type="checkbox" /> True</label><br />
<label><input type="checkbox" checked /> False</label>
<h3>3. Which of the following are examples of Machine Learning applications?</h3>
<label><input type="checkbox" checked /> Image recognition</label><br />
<label><input type="checkbox" checked /> Natural language processing</label><br />
<label><input type="checkbox" /> Cloud deployment</label><br />
<label><input type="checkbox" /> Shell scripting</label>
<h3>4. Deep Learning uses artificial neural networks with multiple layers.</h3>
<label><input type="checkbox" checked /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>5. Natural Language Processing (NLP) includes which of the following?</h3>
<label><input type="checkbox" checked /> Text Analysis</label><br />
<label><input type="checkbox" checked /> Language Understanding</label><br />
<label><input type="checkbox" /> Cloud Computing</label><br />
<label><input type="checkbox" /> Shell Commands</label>
<h3>6. RAG stands for Retrieval Augmented Generation.</h3>
<label><input type="checkbox" checked /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>7. LLMs can only generate text and cannot understand it.</h3>
<label><input type="checkbox" /> True</label><br />
<label><input type="checkbox" checked /> False</label>
<h3>8. Which of the following is NOT a type of Machine Learning?</h3>
<label><input type="checkbox" /> Supervised Learning</label><br />
<label><input type="checkbox" /> Unsupervised Learning</label><br />
<label><input type="checkbox" /> Reinforcement Learning</label><br />
<label><input type="checkbox" checked /> Predictive Learning</label>
<h3>9. Deep Learning models require less data than traditional Machine Learning models.</h3>
<label><input type="checkbox" /> True</label><br />
<label><input type="checkbox" checked /> False</label>
<h3>10. Natural Language Processing can be used for sentiment analysis.</h3>
<label><input type="checkbox" checked /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>11. Which of the following are common applications of Deep Learning?</h3>
<label><input type="checkbox" checked /> Image Classification</label><br />
<label><input type="checkbox" checked /> Speech Recognition</label><br />
<label><input type="checkbox" /> Data Entry Automation</label><br />
<label><input type="checkbox" checked /> Fraud Detection</label>
<h3>12. RAG can improve the accuracy of responses generated by LLMs.</h3>
<label><input type="checkbox" checked /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>13. Which of the following is a benefit of using Cloud Computing for AI?</h3>
<label><input type="checkbox" checked /> Scalability</label><br />
<label><input type="checkbox" checked /> Cost Efficiency</label><br />
<label><input type="checkbox" /> Limited Accessibility</label><br />
<label><input type="checkbox" /> Enhanced Security</label>
<h3>14. The Turing Test is designed to evaluate a machine's ability to exhibit intelligent behavior.</h3>
<label><input type="checkbox" checked /> True</label><br />
<label><input type="checkbox" /> False</label>
<h3>15. Multi-Modal LLMs can only process text and images.</h3>
<label><input type="checkbox" /> True</label><br />
<label><input type="checkbox" checked /> False</label>
</div>

:::

## 📖 Further readings
* [Generative AI Taskforce email](mailto:[email protected])
* [Top 100 GenAI](https://a16z.com/100-gen-ai-apps/)
Expand Down
Loading

0 comments on commit b0692b4

Please sign in to comment.