diff --git a/docs/getting-started/introduction.md b/docs/getting-started/introduction.md index 50014c9..65f2865 100644 --- a/docs/getting-started/introduction.md +++ b/docs/getting-started/introduction.md @@ -14,25 +14,17 @@ -!!! Important - Dont forget to setup your API if needed for your LLM of choice +!!! Useful: Langsmith integration + + Add those lines to .env and funcchain will use langsmith tracing. ```bash - export OPENAI_API_KEY="sk-rnUPxirSQ4bmz2He4qyaiKShdXJcsOsTg" + LANGCHAIN_TRACING_V2=true + LANGCHAIN_API_KEY="ls__api_key" + LANGCHAIN_PROJECT="PROJECT_NAME" ``` - Or funcchain will automatically detect a .env file. - - Also Useful: Langsmith integration - ```bash - LANGCHAIN_TRACING_V2=true - LANGCHAIN_ENDPOINT="https://api.smith.langchain.com" - LANGCHAIN_API_KEY="ls__XXX" - LANGCHAIN_PROJECT="YOUR_PROJECT" - ``` - Add those lines to .env; funcchain will use Langsmith trace. - - Langsmith is used to understand what happens under the hood of your AI project. + Langsmith is used to understand what happens under the hood of your LLM generations. When multiple LLM calls are used for an output they can be logged for debugging. ## Introduction @@ -67,6 +59,7 @@ recipe = generate_recipe("christmas dinner") # recipe is automatically converted as pydantic model print(recipe.ingredients) ``` + !!! Step-by-Step ```python # define your output shape @@ -74,7 +67,7 @@ print(recipe.ingredients) ingredients: list[str] instructions: list[str] duration: int - ``` +``` A Recipe class is defined, inheriting from BaseModel (pydantic library). This class specifies the structure of the output data, which you can customize. @@ -105,7 +98,8 @@ print(recipe.ingredients) print(recipe.ingredients) ``` -#Demo +## Demo +
``` $ print(generate_recipe("christmas dinner").ingredients @@ -165,6 +159,7 @@ match lst: !!! Step-by-Step **Nececary Imports** + ```python from pydantic import BaseModel, Field from funcchain import chain @@ -240,7 +235,6 @@ match lst: ``` -#Demo
``` lst = extract_list( @@ -260,12 +254,6 @@ match lst: ```
- - - - - - ## Vision Models ```python @@ -299,8 +287,10 @@ print("Description:", result.description) for obj in result.objects: print("Found this object:", obj) ``` + !!! Step-by-Step **Nececary Imports** + ```python from PIL import Image from pydantic import BaseModel, Field @@ -348,7 +338,8 @@ for obj in result.objects: Its important that the fields defined earlier are mentioned here with the prompt `Analyse the image and extract its`... -#Demo +## Demo +
``` print(analyse_image(image: Image.Image)) @@ -366,10 +357,10 @@ for obj in result.objects: ```
- ## Seamless local model support + Yes you can use funcchain without internet connection. -Start heating up your device. +Start heating up your device. ```python from pydantic import BaseModel, Field @@ -394,12 +385,13 @@ poem = analyze("I really like when my dog does a trick!") # promised structured output (for local models!) print(poem.analysis) ``` + !!! Step-by-Step **Nececary Imports** ```python from pydantic import BaseModel, Field from funcchain import chain, settings - ``` +``` **Choose and enjoy** ```python @@ -437,7 +429,7 @@ print(poem.analysis) # promised structured output (for local models!) print(poem.analysis) ``` -#Demo +# Demo
``` poem = analyze("I really like when my dog does a trick!") @@ -449,9 +441,8 @@ print(poem.analysis) ```
- ## Features - + - **🎨 Minimalistic and Easy to Use**: Designed with simplicity in mind for straightforward usage. - **🔄 Model Flexibility**: Effortlessly switch between OpenAI and local models. - **📝 Pythonic Prompts**: Craft natural language prompts as intuitive Python functions.