Integração da Moxe com LangChain para chat models, LLMs e embeddings.
Project description
langchain-moxe
Este pacote fornece a integração oficial do LangChain com os modelos generativos da Moxe.
Com ele, você pode usar os modelos de chat, completions e embeddings da Moxe dentro dos fluxos do LangChain.
🚀 Instalação
pip install -U langchain-moxe
🔑 Configuração da chave de API
Antes de utilizar, configure sua chave de API da Moxe como variável de ambiente:
export MOXE_API_KEY="sua-chave-aqui"
Ou defina diretamente no código ao instanciar o cliente:
chat = ChatMoxe(model="phi4", api_key="sua-chave-aqui")
💬 Uso com Modelos de Chat
Os modelos de chat são recomendados para a maioria dos casos de uso.
Eles permitem interações mais ricas e suporte a mensagens com diferentes papéis (system, user, assistant).
Exemplo simples
from langchain_moxe import ChatMoxe
from langchain_core.messages import HumanMessage, SystemMessage
chat = ChatMoxe(model="phi4", temperature=0.7)
response = chat.invoke([
SystemMessage(content="Você é um assistente criativo e útil."),
HumanMessage(content="Escreva um haicai sobre tecnologia.")
])
print(response.content)
Exemplo com streaming
from langchain_moxe import ChatMoxe
from langchain_core.messages import HumanMessage
chat = ChatMoxe(model="phi4", temperature=0.7)
for chunk in chat.stream([HumanMessage(content="Resuma LangChain em 1 frase.")]):
print(chunk.content, end="", flush=True)
print()
✍️ Uso como LLM (modo completion)
Também é possível utilizar os modelos da Moxe como completions de texto (input string → output string).
from langchain_moxe import MoxeLLM
llm = MoxeLLM(model="phi4", temperature=0.3)
response = llm.invoke("Complete a frase: Python é ótimo para")
print(response)
🔎 Embeddings
A Moxe também fornece modelos de embeddings para busca semântica e indexação.
from langchain_moxe import MoxeEmbeddings
emb = MoxeEmbeddings(model="text-embedding-001")
vector = emb.embed_query("busca semântica em documentos")
print("Dimensão do embedding:", len(vector))
Também é possível gerar embeddings para uma lista de textos:
embeddings = emb.embed_documents([
"Primeiro documento",
"Segundo documento",
"Terceiro documento"
])
print(len(embeddings), "vetores gerados")
⚙️ Parâmetros suportados
Você pode controlar a geração dos modelos passando parâmetros compatíveis com a API da Moxe:
- temperature: controla a criatividade da resposta.
- top_p: nucleus sampling (probabilidade acumulada).
- top_k: restringe a escolha de tokens aos K mais prováveis.
- seed: define a semente aleatória para respostas reproduzíveis.
- stop: lista de tokens de parada.
- repeat_last_n: janela de tokens considerada para penalidade de repetição.
- repeat_penalty: força da penalidade de repetição.
- tfs_z: tail free sampling.
- format: formato da saída (ex.: "json" ou schema JSON).
Exemplo
chat = ChatMoxe(
model="phi4",
temperature=0.5,
top_p=0.9,
stop=["\n"]
)
📚 Recursos adicionais
- Documentação da Moxe
- Documentação do LangChain
📄 Licença
Este projeto é distribuído sob a licença MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file langchain_moxe-0.1.2.tar.gz.
File metadata
- Download URL: langchain_moxe-0.1.2.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0ebb59287a5b32b8cdb2541a284d4919c01c508ccc5b2a389a5ed57f3ff8282
|
|
| MD5 |
c44a3a0418b38e74d409c694fee043da
|
|
| BLAKE2b-256 |
3ee431b57d78050be6faf64f369ead050b910a0bcf2152f312a0b1a085debb7c
|
File details
Details for the file langchain_moxe-0.1.2-py3-none-any.whl.
File metadata
- Download URL: langchain_moxe-0.1.2-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85ffdaf905239a38800261475f79cbcd89b90c0f61709abaeb2cbb01b346bc50
|
|
| MD5 |
c54521517b4e5b3aac80537e6f079aa4
|
|
| BLAKE2b-256 |
2210d64ff23e54425dea5d41fd8ae3d287cdbff544f1f7e52a4c520ac47f2a1b
|