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-coreConfigurer 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 :
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).