Nous avons travaillé sur un nouveau cours sur les données IA pour montrer comment créer un chatbot IA en déplaçant les données de commerce électronique de Stripe vers PGVector exécuté sur Supabase, via le connecteur Airbyte PGVector pour créer des intégrations OpenAI, à l'aide des bibliothèques client OpenAI. pour ajouter la prise en charge du langage naturel dans une application. Il s'agit d'un modèle d'application de « pile de données intelligente » assez courant que beaucoup de nos clients mettent en œuvre. La source et la destination peuvent changer, mais le modèle (source de données > déplacer les données et créer des intégrations > magasin de données vectorielles > application Web avec OpenAI) reste le même.
Puisque nous travaillons sur un cours destiné aux utilisateurs, nous voulions rendre la configuration aussi simple que possible. Une grande partie de cela consistait à créer suffisamment de données de test dans Stripe afin qu'il y ait un ensemble de données raisonnable avec lequel le chatbot puisse interagir. Si vous avez déjà utilisé Stripe, vous savez qu'ils disposent d'un excellent bac à sable avec lequel vous pouvez expérimenter. Le seul problème est qu’il n’a pas d’échantillons de données préchargés.
Il existe quelques exemples d'ensembles de données que vous pouvez charger via la commande CLI luminaires. Mais, pour notre usage, ceux-ci ne répondaient pas à nos besoins. Nous voulions un ensemble de données plus large, et comme ce matériel sera utilisé en ligne et dans des ateliers, demander aux apprenants d'installer quelque chose, comme la CLI, sur leurs machines locales vous ouvre toute une série de complexités. Vous ne savez jamais quelle version du système d'exploitation l'utilisateur utilise, s'il dispose des autorisations appropriées pour installer des éléments, et bien plus encore. J'ai été brûlé trop de fois pour emprunter cette voie.
Heureusement, Stripe dispose également d'API fantastiques et d'un excellent client Python, ce qui signifie que nous avons pu créer rapidement un bloc-notes collaboratif permettant aux apprenants d'exécuter et d'insérer les données souhaitées.
Après avoir installé la bibliothèque Stripe via !pip install stripe et transmis une clé de test à l'aide des secrets de Google Collab, nous avons dû définir des noms aléatoires pour les clients et les produits. L'objectif était d'insérer une collection aléatoire de clients, de produits avec des prix différents et d'achats. De cette façon, lorsque nous posons au chatbot des questions telles que « qui a effectué l'achat le moins cher ? Combien ont-ils payé et qu'ont-ils acheté ? » il y avait suffisamment de données.
import stripe import random from google.colab import userdata stripe.api_key = userdata.get('STRIPE_TEST_KEY') # Sample data for generating random names first_names = ["Alice", "Bob", "Charlie", "Diana", "Eve", "Frank", "Grace", "Hank", "Ivy", "Jack", "Quinton", "Akriti", "Justin", "Marcos"] last_names = ["Smith", "Johnson", "Williams", "Jones", "Brown", "Davis", "Miller", "Wilson", "Moore", "Taylor", "Wall", "Chau", "Keswani", "Marx"] # Sample clothing product names clothing_names = [ "T-Shirt", "Jeans", "Jacket", "Sweater", "Hoodie", "Shorts", "Dress", "Blouse", "Skirt", "Pants", "Shoes", "Sandals", "Sneakers", "Socks", "Hat", "Scarf", "Gloves", "Coat", "Belt", "Tie", "Tank Top", "Cardigan", "Overalls", "Tracksuit", "Polo Shirt", "Cargo Pants", "Capris", "Dungarees", "Boots", "Cufflinks", "Raincoat", "Peacoat", "Blazer", "Slippers", "Underwear", "Leggings", "Windbreaker", "Tracksuit Bottoms", "Beanie", "Bikini" ] # List of random colors colors = [ "Red", "Blue", "Green", "Yellow", "Black", "White", "Gray", "Pink", "Purple", "Orange", "Brown", "Teal", "Navy", "Maroon", "Gold", "Silver", "Beige", "Lavender", "Turquoise", "Coral" ]
Ensuite, il était temps d'ajouter des fonctions pour chacun des types de données dans Stripe dont nous avions besoin.
# Function to create sample customers with random names def create_customers(count=5): customers = [] for _ in range(count): first_name = random.choice(first_names) last_name = random.choice(last_names) name = f"{first_name} {last_name}" email = f"{first_name.lower()}.{last_name.lower()}@example.com" customer = stripe.Customer.create( name=name, email=email, description="Sample customer for testing" ) customers.append(customer) print(f"Created Customer: {customer['name']} (ID: {customer['id']})") return customers # Function to create sample products with random clothing names and colors def create_products(count=3): products = [] for _ in range(count): color = random.choice(colors) product_name = random.choice(clothing_names) full_name = f"{color} {product_name}" product = stripe.Product.create( name=full_name, description=f"This is a {color.lower()} {product_name.lower()}" ) products.append(product) print(f"Created Product: {product['name']} (ID: {product['id']})") return products # Function to create prices for the products with random unit_amount def create_prices(products, min_price=500, max_price=5000): prices = [] for product in products: unit_amount = random.randint(min_price, max_price) # Random amount in cents price = stripe.Price.create( unit_amount=unit_amount, currency="usd", product=product['id'] ) prices.append(price) print(f"Created Price: ${unit_amount / 100:.2f} for Product {product['name']} (ID: {price['id']})") return prices # Function to create random purchases for each customer def create_purchases(customers, prices, max_purchases_per_customer=5): purchases = [] for customer in customers: num_purchases = random.randint(1, max_purchases_per_customer) # Random number of purchases per customer for _ in range(num_purchases): price = random.choice(prices) # Randomly select a product's price purchase = stripe.PaymentIntent.create( amount=price['unit_amount'], # Amount in cents currency=price['currency'], customer=customer['id'], payment_method_types=["card"], # Simulate card payment description=f"Purchase of {price['product']} by {customer['name']}" ) purchases.append(purchase) print(f"Created Purchase for Customer {customer['name']} (Amount: ${price['unit_amount'] / 100:.2f})") return purchases
Il ne restait plus qu'à exécuter le script et à spécifier la quantité de données dont nous avons besoin.
# Main function to create sample data def main(): print("Creating sample customers with random names...") customers = create_customers(count=20) print("\nCreating sample products with random clothing names and colors...") products = create_products(count=30) print("\nCreating prices for products with random amounts...") prices = create_prices(products, min_price=500, max_price=5000) print("\nCreating random purchases for each customer...") purchases = create_purchases(customers, prices, max_purchases_per_customer=10) print("\nSample data creation complete!") print(f"Created {len(customers)} customers, {len(products)} products, and {len(purchases)} purchases.") if __name__ == "__main__": main()
Une fois les données chargées dans notre Stripe Sandbox, leur connexion à Airbyte n'a pris que quelques minutes en utilisant Connector Builder pour mapper les points de terminaison de l'API aux flux pour chaque type de données et en configurant une tâche de synchronisation.
Problème résolu ! Notre script Collab Python permet à l'apprenant d'insérer très facilement des données de test dans Stripe. J'espère que cela sera utile à quelqu'un d'autre effectuant des tests similaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

PythonlistScanstoreanyDatatype, ArrayModulearRaySstoreOneType, et NumpyArraysArnumericalComptations.1) ListesaSaSatilebutlessmemory-Efficient.2) NumpyArraySareMory-EfficientForHomoGeneousData.3)

Lorsque vous vous assumez de la valeur de la valeur de la datyypie de la datyylethonarray.

PythonlistSaReparmentofthestandardLibrary, tandis que les coloccules de colocède, tandis que les colocculations pour la base de la Parlementaire, des coloments de forage polyvalent, tandis que la fonctionnalité de la fonctionnalité nettement adressée.

TheScriptSrunning withthewrongpythonversionDuetOincorrectDefaultInterpretersettings.tofixThis: 1) vérifiez laefaultpythonversionusingpython - Versionorpython3 - Version.2)

PythonarRaySSupportVariousOperations: 1) SpecingExtractsSubSets, 2) A SPENDANT / EXPENSEDADDDSELLESS, 3) INSERtingPlaceSelelementsAtSpecific Positions, 4) RemovingdeleteSelements, 5) Sorting / ReversingChangeSes

NumpyArraysAressentialFor Applications est en train de réaliser des objets de manière numérique et une datamanipulation.

Useanarray.arrayoveralistinpythonwendealing withhomogeneousdata, performance-criticalcode, orinterfacingwithccode.1) homogeneousdata: ArraySaveMemorywithTypelements.2) performance-criticalcode

Non, NotallListOperationsResaSupportedByArrays, andviceVersa.1) ArraysDonotsUpportDynamicOperationsLIKEAPENDORINSERSERTWithoutresizing, qui oblige la performance.2) Listes de la glate-enconteConStanttimecomplexityfordirectAccessLikEArraysDo.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

Version Mac de WebStorm
Outils de développement JavaScript utiles

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel
