Langchain
Introducció
Section titled “Introducció”We are going to use the Ollama
For the language model we will use a resized version of the DeepSeek R1 that can run locally.
Ollama
Section titled “Ollama”Ollama es un cliente de modelos de inteligencia artificial, por lo que es la base sobre la que luego instalar una IA que quieras utilizar.
Ollama te permite usar una IA de forma local
Antes de empezar tienes que ir a la web donde verás todos los modelos de IA disponibles. La web es ollama.com/search
Download and install Ollama if you haven’t already.
scoop install main/ollamascoop install extras/ollama-full
Confirm the ollama
command is available and the Ollama server is running on port 11434.
Install DeepSeek R1 8b parameter model:
ollama pull deepseek-r1:8b
Check availability with:
ollama list
```shellNAME ID SIZE MODIFIEDdeepseek-r1:8b 28f8fd6cdc67 4.9 GB 59 seconds ago
usar el comando para lanzar el modelo en tu terminal, como por ejemplo ollama run deepseek-r1:8b para lanzar la versión 8b de DeepSeek R1.
ollama run deepseek-r1:8b
La primera vez que uses el comando primero se instalará el modelo, pero las próximas ya lo lanzarás directamente.
Tras escribir el comando, se lanzará el modelo de IA en el terminal. Esto l ovas a distinguir porque ves que en el campo de escritura del terminal ahora aparece un >>>, lo que significa que lo que escribas se lo enviarás al modelo de inteligencia artificial.
Ahora, en la línea de comandos de tu ordenador podrás escribir el prompt que quieras lanzarle a la IA que hayas elegido, y tras unos segundos empezará a generarte la respuesta.
Using the model
Section titled “Using the model”LangChain.js provides a consistent interface for interacting with large language models, including Ollama.
For example:
import { ChatOllama } from "npm:@langchain/ollama";
const model = new ChatOllama({ model: "deepseek-r1:8b"})
deno run --allow-env --allow-net main.ts
import { ChatOllama } from "npm:@langchain/ollama";import { z } from "npm:zod";import { RunnableSequence } from "npm:@langchain/core/runnables";import { StructuredOutputParser } from "npm:@langchain/core/output_parsers";import { ChatPromptTemplate } from "npm:@langchain/core/prompts";
const model = new ChatOllama({ model: "deepseek-r1:8b",});
const zodSchema = z.object({ answer: z.string().describe("answer to the user's question"), source: z.string().describe( "source used to answer the user's question, should be a website.", ),});
const parser = StructuredOutputParser.fromZodSchema(zodSchema);
const chain = RunnableSequence.from([ ChatPromptTemplate.fromTemplate( "Answer the users question as best as possible.\n{format_instructions}\n{question}", ), model, parser,]);
// Display the format instructions//console.log(parser.getFormatInstructions());
const response = await chain.invoke({ question: "What is xtec.dev ?", format_instructions: parser.getFormatInstructions(),});
console.log(response);
https://www.youtube.com/watch?v=abkZuYUbx8w
https://medium.com/towards-agi/how-to-use-ollama-effectively-with-langchain-tutorial-546f5dbffb70
El contingut d'aquest lloc web té llicència CC BY-NC-ND 4.0.
©2022-2025 xtec.dev