Aller au contenu

LangChain

Utilisez ChatOpenAI de LangChain (Python et JavaScript) avec l'URL de base de Promptix.

Le modèle de chat ChatOpenAI de LangChain fonctionne avec Promptix : définissez l'URL de base de Promptix et utilisez n'importe quel identifiant du catalogue. Les chaînes, agents et outils construits dessus continuent de fonctionner.

Installation

pip install -U langchain-openai langchain-core

Configurer ChatOpenAI

En Python, passez openai_api_base (alias de base_url) et openai_api_key. En JavaScript, passez l'URL de base dans configuration.baseURL.

import osfrom langchain_openai import ChatOpenAI llm = ChatOpenAI(    model="openai/gpt-6-luna",    openai_api_base="https://promptix.tn/api/v1",    openai_api_key=os.environ["PROMPTIX_API_KEY"],    temperature=0.2,) reply = llm.invoke("Translate to French: the invoice is attached.")print(reply.content)

Prompts et chaînes

from langchain_core.output_parsers import StrOutputParserfrom langchain_core.prompts import ChatPromptTemplate prompt = ChatPromptTemplate.from_messages([    ("system", "You write product descriptions for a Tunisian e-commerce site, in {language}."),    ("human", "Product: {product}"),]) chain = prompt | llm | StrOutputParser() print(chain.invoke({"language": "French", "product": "Nabeul ceramic plate, hand painted"}))

Streaming

for chunk in llm.stream("Give me three tips to learn Tunisian Arabic."):    print(chunk.content, end="", flush=True)

Sortie structurée

Fonctionne avec les modèles qui prennent en charge l'appel d'outils ou les schémas JSON.

from pydantic import BaseModel class Invoice(BaseModel):    city: str    amount_tnd: float extractor = llm.with_structured_output(Invoice)invoice = extractor.invoke("Invoice from Sousse, total due 245.500 dinars.")print(invoice.city, invoice.amount_tnd)

Plusieurs modèles, une seule clé

Une petite fabrique permet d'utiliser un modèle économique pour les étapes simples et un modèle plus puissant là où c'est utile, le tout facturé sur le même solde Promptix :

models.pyPython
import osfrom langchain_openai import ChatOpenAI def promptix(model: str, **kwargs) -> ChatOpenAI:    return ChatOpenAI(        model=model,        openai_api_base="https://promptix.tn/api/v1",        openai_api_key=os.environ["PROMPTIX_API_KEY"],        **kwargs,    ) fast = promptix("openai/gpt-6-luna")smart = promptix("anthropic/claude-sonnet-5", temperature=0)

Limites

Promptix expose uniquement les chat completions. OpenAIEmbeddings et les autres classes OpenAI hors chat ne fonctionnent pas avec l'URL de base de Promptix ; utilisez un fournisseur d'embeddings distinct pour vos pipelines de recherche (RAG).