Last active
September 10, 2024 14:00
-
-
Save wxgeorge/faec3b828c54d9c845892e45ad614bdf to your computer and use it in GitHub Desktop.
Featherless with Langchain-js v0.2.12 example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// based on https://github.com/OpenRouterTeam/openrouter-examples/blob/main/examples/langchain/index.ts | |
import { ChatOpenAI } from "@langchain/openai" | |
import { HumanMessage, SystemMessage, AIMessage } from "@langchain/core/messages" | |
import 'dotenv/config' | |
// TODO: make a key at https://featherless.ai/account/api-keys and put it in .env | |
const FEATHERLESS_API_KEY = process.env.FEATHERLESS_API_KEY | |
const FEATHERLESS_BASE_URL = | |
process.env.FEATHERLESS_BASE_URL || "https://api.featherless.ai/v1" | |
const chat = new ChatOpenAI( | |
{ | |
modelName: "NousResearch/Meta-Llama-3.1-8B-Instruct", | |
// modelName: "meta-llama/Meta-Llama-3-8B-Instruct", | |
// Note that access to certain models, like Llama3, requires accepting the Ts&Cs of the model. | |
// please visit https://featherless.ai/models/meta-llama/Meta-Llama-3-8B-Instruct for details on how to do this | |
// modelName: "HuggingFaceH4/zephyr-7b-beta", | |
// modelName: "failspy/Meta-Llama-3-8B-Instruct-abliterated-v3", | |
// modelName: "failspy/Llama-3-8B-Instruct-MopeyMule", | |
temperature: 0.8, | |
maxTokens: 300, | |
// unfortunately this does _not_ work with streaming, as that requires a token counting endpoint, which | |
// featherless does not currently have. | |
// streaming: true, | |
openAIApiKey: FEATHERLESS_API_KEY, | |
}, | |
{ | |
basePath: FEATHERLESS_BASE_URL, | |
baseOptions: { | |
headers: { | |
"HTTP-Referer": "https://localhost:3000/", | |
"X-Title": "Langchain.js Testing", | |
}, | |
}, | |
} | |
) | |
async function main() { | |
const response = await chat.call([ | |
new SystemMessage( | |
"You are a helpful assistant that translates English to some other language, depending on the context." | |
), | |
...lotsOfMessages(2), | |
new HumanMessage( | |
"Translate: I am bouncy goofball who loves cookies and wants to go to Disneyland and ride the teacups. But one day I will be a real boy." | |
), | |
]) | |
console.log(response) | |
} | |
// Helpers | |
function* lotsOfMessages(numMessages) { | |
const batch = [ | |
new HumanMessage("Translate: I make cookies."), | |
new AIMessage("Je fais des biscuits."), | |
new HumanMessage("Translate: I am a human."), | |
new AIMessage("Je suis un humain."), | |
new HumanMessage("Translate: I am a robot."), | |
new AIMessage("Je suis un robot."), | |
new HumanMessage("Translate: I am a dog."), | |
new AIMessage("Je suis un chien."), | |
new HumanMessage("Translate: I am a cat."), | |
new AIMessage("Je suis un chat."), | |
new HumanMessage("Translate: I am a bird."), | |
new AIMessage("Je suis un oiseau."), | |
new HumanMessage("Translate: I am a fish."), | |
new AIMessage("Je suis un poisson."), | |
new HumanMessage("Translate: I am a horse."), | |
new AIMessage("Je suis un cheval."), | |
new HumanMessage("Translate: I am a cow."), | |
new AIMessage("Je suis une vache."), | |
new HumanMessage("Translate: I am a pig."), | |
new AIMessage("Je suis un cochon."), | |
] | |
for (let i = 0; i < numMessages; i++) { | |
yield batch[i % batch.length] | |
} | |
} | |
// console.log(...lotsOfMessages(2)) | |
// Run | |
main().catch((e) => console.error(e)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "featherless-langchain-js-example", | |
"version": "1.0.0", | |
"lockfileVersion": 3, | |
"requires": true, | |
"packages": { | |
"": { | |
"name": "featherless-langchain-js-example", | |
"version": "1.0.0", | |
"license": "ISC", | |
"dependencies": { | |
"@langchain/openai": "^0.2.5", | |
"dotenv": "^16.4.5", | |
"langchain": "^0.2.12", | |
"openai": "^4.54.0" | |
} | |
}, | |
"node_modules/@langchain/core": { | |
"version": "0.2.20", | |
"resolved": "https://registry.npmjs.org/@langchain/core/-/core-0.2.20.tgz", | |
"integrity": "sha512-WPBjrzOj79/yqjloDUIw1GDhuRQfHis07TyyDj+qS81nHh0svSasetKcqAZ3L5JoPcBmEL7rRBtM+OcyC3mLVg==", | |
"dependencies": { | |
"ansi-styles": "^5.0.0", | |
"camelcase": "6", | |
"decamelize": "1.2.0", | |
"js-tiktoken": "^1.0.12", | |
"langsmith": "~0.1.39", | |
"mustache": "^4.2.0", | |
"p-queue": "^6.6.2", | |
"p-retry": "4", | |
"uuid": "^10.0.0", | |
"zod": "^3.22.4", | |
"zod-to-json-schema": "^3.22.3" | |
}, | |
"engines": { | |
"node": ">=18" | |
} | |
}, | |
"node_modules/@langchain/openai": { | |
"version": "0.2.5", | |
"resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.2.5.tgz", | |
"integrity": "sha512-gQXS5VBFyAco0jgSnUVan6fYVSIxlffmDaeDGpXrAmz2nQPgiN/h24KYOt2NOZ1zRheRzRuO/CfRagMhyVUaFA==", | |
"dependencies": { | |
"@langchain/core": ">=0.2.16 <0.3.0", | |
"js-tiktoken": "^1.0.12", | |
"openai": "^4.49.1", | |
"zod": "^3.22.4", | |
"zod-to-json-schema": "^3.22.3" | |
}, | |
"engines": { | |
"node": ">=18" | |
} | |
}, | |
"node_modules/@langchain/textsplitters": { | |
"version": "0.0.3", | |
"resolved": "https://registry.npmjs.org/@langchain/textsplitters/-/textsplitters-0.0.3.tgz", | |
"integrity": "sha512-cXWgKE3sdWLSqAa8ykbCcUsUF1Kyr5J3HOWYGuobhPEycXW4WI++d5DhzdpL238mzoEXTi90VqfSCra37l5YqA==", | |
"dependencies": { | |
"@langchain/core": ">0.2.0 <0.3.0", | |
"js-tiktoken": "^1.0.12" | |
}, | |
"engines": { | |
"node": ">=18" | |
} | |
}, | |
"node_modules/@types/node": { | |
"version": "18.19.43", | |
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.43.tgz", | |
"integrity": "sha512-Mw/YlgXnyJdEwLoFv2dpuJaDFriX+Pc+0qOBJ57jC1H6cDxIj2xc5yUrdtArDVG0m+KV6622a4p2tenEqB3C/g==", | |
"dependencies": { | |
"undici-types": "~5.26.4" | |
} | |
}, | |
"node_modules/@types/node-fetch": { | |
"version": "2.6.11", | |
"resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", | |
"integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", | |
"dependencies": { | |
"@types/node": "*", | |
"form-data": "^4.0.0" | |
} | |
}, | |
"node_modules/@types/retry": { | |
"version": "0.12.0", | |
"resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", | |
"integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" | |
}, | |
"node_modules/@types/uuid": { | |
"version": "9.0.8", | |
"resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", | |
"integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==" | |
}, | |
"node_modules/abort-controller": { | |
"version": "3.0.0", | |
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", | |
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", | |
"dependencies": { | |
"event-target-shim": "^5.0.0" | |
}, | |
"engines": { | |
"node": ">=6.5" | |
} | |
}, | |
"node_modules/agentkeepalive": { | |
"version": "4.5.0", | |
"resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", | |
"integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", | |
"dependencies": { | |
"humanize-ms": "^1.2.1" | |
}, | |
"engines": { | |
"node": ">= 8.0.0" | |
} | |
}, | |
"node_modules/ansi-styles": { | |
"version": "5.2.0", | |
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", | |
"integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", | |
"engines": { | |
"node": ">=10" | |
}, | |
"funding": { | |
"url": "https://github.com/chalk/ansi-styles?sponsor=1" | |
} | |
}, | |
"node_modules/argparse": { | |
"version": "2.0.1", | |
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", | |
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" | |
}, | |
"node_modules/asynckit": { | |
"version": "0.4.0", | |
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", | |
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" | |
}, | |
"node_modules/base64-js": { | |
"version": "1.5.1", | |
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", | |
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", | |
"funding": [ | |
{ | |
"type": "github", | |
"url": "https://github.com/sponsors/feross" | |
}, | |
{ | |
"type": "patreon", | |
"url": "https://www.patreon.com/feross" | |
}, | |
{ | |
"type": "consulting", | |
"url": "https://feross.org/support" | |
} | |
] | |
}, | |
"node_modules/binary-extensions": { | |
"version": "2.3.0", | |
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", | |
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", | |
"engines": { | |
"node": ">=8" | |
}, | |
"funding": { | |
"url": "https://github.com/sponsors/sindresorhus" | |
} | |
}, | |
"node_modules/binary-search": { | |
"version": "1.3.6", | |
"resolved": "https://registry.npmjs.org/binary-search/-/binary-search-1.3.6.tgz", | |
"integrity": "sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==" | |
}, | |
"node_modules/camelcase": { | |
"version": "6.3.0", | |
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", | |
"integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", | |
"engines": { | |
"node": ">=10" | |
}, | |
"funding": { | |
"url": "https://github.com/sponsors/sindresorhus" | |
} | |
}, | |
"node_modules/combined-stream": { | |
"version": "1.0.8", | |
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", | |
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", | |
"dependencies": { | |
"delayed-stream": "~1.0.0" | |
}, | |
"engines": { | |
"node": ">= 0.8" | |
} | |
}, | |
"node_modules/commander": { | |
"version": "10.0.1", | |
"resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", | |
"integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", | |
"engines": { | |
"node": ">=14" | |
} | |
}, | |
"node_modules/decamelize": { | |
"version": "1.2.0", | |
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", | |
"integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", | |
"engines": { | |
"node": ">=0.10.0" | |
} | |
}, | |
"node_modules/delayed-stream": { | |
"version": "1.0.0", | |
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | |
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", | |
"engines": { | |
"node": ">=0.4.0" | |
} | |
}, | |
"node_modules/dotenv": { | |
"version": "16.4.5", | |
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", | |
"integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", | |
"engines": { | |
"node": ">=12" | |
}, | |
"funding": { | |
"url": "https://dotenvx.com" | |
} | |
}, | |
"node_modules/event-target-shim": { | |
"version": "5.0.1", | |
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", | |
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", | |
"engines": { | |
"node": ">=6" | |
} | |
}, | |
"node_modules/eventemitter3": { | |
"version": "4.0.7", | |
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", | |
"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" | |
}, | |
"node_modules/form-data": { | |
"version": "4.0.0", | |
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", | |
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", | |
"dependencies": { | |
"asynckit": "^0.4.0", | |
"combined-stream": "^1.0.8", | |
"mime-types": "^2.1.12" | |
}, | |
"engines": { | |
"node": ">= 6" | |
} | |
}, | |
"node_modules/form-data-encoder": { | |
"version": "1.7.2", | |
"resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", | |
"integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" | |
}, | |
"node_modules/formdata-node": { | |
"version": "4.4.1", | |
"resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", | |
"integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", | |
"dependencies": { | |
"node-domexception": "1.0.0", | |
"web-streams-polyfill": "4.0.0-beta.3" | |
}, | |
"engines": { | |
"node": ">= 12.20" | |
} | |
}, | |
"node_modules/humanize-ms": { | |
"version": "1.2.1", | |
"resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", | |
"integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", | |
"dependencies": { | |
"ms": "^2.0.0" | |
} | |
}, | |
"node_modules/is-any-array": { | |
"version": "2.0.1", | |
"resolved": "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.1.tgz", | |
"integrity": "sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==" | |
}, | |
"node_modules/js-tiktoken": { | |
"version": "1.0.12", | |
"resolved": "https://registry.npmjs.org/js-tiktoken/-/js-tiktoken-1.0.12.tgz", | |
"integrity": "sha512-L7wURW1fH9Qaext0VzaUDpFGVQgjkdE3Dgsy9/+yXyGEpBKnylTd0mU0bfbNkKDlXRb6TEsZkwuflu1B8uQbJQ==", | |
"dependencies": { | |
"base64-js": "^1.5.1" | |
} | |
}, | |
"node_modules/js-yaml": { | |
"version": "4.1.0", | |
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", | |
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", | |
"dependencies": { | |
"argparse": "^2.0.1" | |
}, | |
"bin": { | |
"js-yaml": "bin/js-yaml.js" | |
} | |
}, | |
"node_modules/jsonpointer": { | |
"version": "5.0.1", | |
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", | |
"integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", | |
"engines": { | |
"node": ">=0.10.0" | |
} | |
}, | |
"node_modules/langchain": { | |
"version": "0.2.12", | |
"resolved": "https://registry.npmjs.org/langchain/-/langchain-0.2.12.tgz", | |
"integrity": "sha512-ZHtJrHUpridZ7IQu7N/wAQ6iMAAO7VLzkupHqKP79S6p+alrPbn1BjRnh+PeGm92YiY5DafTCuvchmujxx7bCQ==", | |
"dependencies": { | |
"@langchain/core": ">=0.2.11 <0.3.0", | |
"@langchain/openai": ">=0.1.0 <0.3.0", | |
"@langchain/textsplitters": "~0.0.0", | |
"binary-extensions": "^2.2.0", | |
"js-tiktoken": "^1.0.12", | |
"js-yaml": "^4.1.0", | |
"jsonpointer": "^5.0.1", | |
"langchainhub": "~0.0.8", | |
"langsmith": "~0.1.30", | |
"ml-distance": "^4.0.0", | |
"openapi-types": "^12.1.3", | |
"p-retry": "4", | |
"uuid": "^10.0.0", | |
"yaml": "^2.2.1", | |
"zod": "^3.22.4", | |
"zod-to-json-schema": "^3.22.3" | |
}, | |
"engines": { | |
"node": ">=18" | |
}, | |
"peerDependencies": { | |
"@aws-sdk/client-s3": "*", | |
"@aws-sdk/client-sagemaker-runtime": "*", | |
"@aws-sdk/client-sfn": "*", | |
"@aws-sdk/credential-provider-node": "*", | |
"@azure/storage-blob": "*", | |
"@browserbasehq/sdk": "*", | |
"@gomomento/sdk": "*", | |
"@gomomento/sdk-core": "*", | |
"@gomomento/sdk-web": "^1.51.1", | |
"@langchain/anthropic": "*", | |
"@langchain/aws": "*", | |
"@langchain/cohere": "*", | |
"@langchain/community": "*", | |
"@langchain/google-genai": "*", | |
"@langchain/google-vertexai": "*", | |
"@langchain/groq": "*", | |
"@langchain/mistralai": "*", | |
"@langchain/ollama": "*", | |
"@mendable/firecrawl-js": "*", | |
"@notionhq/client": "*", | |
"@pinecone-database/pinecone": "*", | |
"@supabase/supabase-js": "*", | |
"@vercel/kv": "*", | |
"@xata.io/client": "*", | |
"apify-client": "*", | |
"assemblyai": "*", | |
"axios": "*", | |
"cheerio": "*", | |
"chromadb": "*", | |
"convex": "*", | |
"couchbase": "*", | |
"d3-dsv": "*", | |
"epub2": "*", | |
"fast-xml-parser": "*", | |
"handlebars": "^4.7.8", | |
"html-to-text": "*", | |
"ignore": "*", | |
"ioredis": "*", | |
"jsdom": "*", | |
"mammoth": "*", | |
"mongodb": "*", | |
"node-llama-cpp": "*", | |
"notion-to-md": "*", | |
"officeparser": "*", | |
"pdf-parse": "*", | |
"peggy": "^3.0.2", | |
"playwright": "*", | |
"puppeteer": "*", | |
"pyodide": "^0.24.1", | |
"redis": "*", | |
"sonix-speech-recognition": "*", | |
"srt-parser-2": "*", | |
"typeorm": "*", | |
"weaviate-ts-client": "*", | |
"web-auth-library": "*", | |
"ws": "*", | |
"youtube-transcript": "*", | |
"youtubei.js": "*" | |
}, | |
"peerDependenciesMeta": { | |
"@aws-sdk/client-s3": { | |
"optional": true | |
}, | |
"@aws-sdk/client-sagemaker-runtime": { | |
"optional": true | |
}, | |
"@aws-sdk/client-sfn": { | |
"optional": true | |
}, | |
"@aws-sdk/credential-provider-node": { | |
"optional": true | |
}, | |
"@azure/storage-blob": { | |
"optional": true | |
}, | |
"@browserbasehq/sdk": { | |
"optional": true | |
}, | |
"@gomomento/sdk": { | |
"optional": true | |
}, | |
"@gomomento/sdk-core": { | |
"optional": true | |
}, | |
"@gomomento/sdk-web": { | |
"optional": true | |
}, | |
"@langchain/anthropic": { | |
"optional": true | |
}, | |
"@langchain/aws": { | |
"optional": true | |
}, | |
"@langchain/cohere": { | |
"optional": true | |
}, | |
"@langchain/community": { | |
"optional": true | |
}, | |
"@langchain/google-genai": { | |
"optional": true | |
}, | |
"@langchain/google-vertexai": { | |
"optional": true | |
}, | |
"@langchain/groq": { | |
"optional": true | |
}, | |
"@langchain/mistralai": { | |
"optional": true | |
}, | |
"@langchain/ollama": { | |
"optional": true | |
}, | |
"@mendable/firecrawl-js": { | |
"optional": true | |
}, | |
"@notionhq/client": { | |
"optional": true | |
}, | |
"@pinecone-database/pinecone": { | |
"optional": true | |
}, | |
"@supabase/supabase-js": { | |
"optional": true | |
}, | |
"@vercel/kv": { | |
"optional": true | |
}, | |
"@xata.io/client": { | |
"optional": true | |
}, | |
"apify-client": { | |
"optional": true | |
}, | |
"assemblyai": { | |
"optional": true | |
}, | |
"axios": { | |
"optional": true | |
}, | |
"cheerio": { | |
"optional": true | |
}, | |
"chromadb": { | |
"optional": true | |
}, | |
"convex": { | |
"optional": true | |
}, | |
"couchbase": { | |
"optional": true | |
}, | |
"d3-dsv": { | |
"optional": true | |
}, | |
"epub2": { | |
"optional": true | |
}, | |
"faiss-node": { | |
"optional": true | |
}, | |
"fast-xml-parser": { | |
"optional": true | |
}, | |
"handlebars": { | |
"optional": true | |
}, | |
"html-to-text": { | |
"optional": true | |
}, | |
"ignore": { | |
"optional": true | |
}, | |
"ioredis": { | |
"optional": true | |
}, | |
"jsdom": { | |
"optional": true | |
}, | |
"mammoth": { | |
"optional": true | |
}, | |
"mongodb": { | |
"optional": true | |
}, | |
"node-llama-cpp": { | |
"optional": true | |
}, | |
"notion-to-md": { | |
"optional": true | |
}, | |
"officeparser": { | |
"optional": true | |
}, | |
"pdf-parse": { | |
"optional": true | |
}, | |
"peggy": { | |
"optional": true | |
}, | |
"playwright": { | |
"optional": true | |
}, | |
"puppeteer": { | |
"optional": true | |
}, | |
"pyodide": { | |
"optional": true | |
}, | |
"redis": { | |
"optional": true | |
}, | |
"sonix-speech-recognition": { | |
"optional": true | |
}, | |
"srt-parser-2": { | |
"optional": true | |
}, | |
"typeorm": { | |
"optional": true | |
}, | |
"weaviate-ts-client": { | |
"optional": true | |
}, | |
"web-auth-library": { | |
"optional": true | |
}, | |
"ws": { | |
"optional": true | |
}, | |
"youtube-transcript": { | |
"optional": true | |
}, | |
"youtubei.js": { | |
"optional": true | |
} | |
} | |
}, | |
"node_modules/langchainhub": { | |
"version": "0.0.11", | |
"resolved": "https://registry.npmjs.org/langchainhub/-/langchainhub-0.0.11.tgz", | |
"integrity": "sha512-WnKI4g9kU2bHQP136orXr2bcRdgz9iiTBpTN0jWt9IlScUKnJBoD0aa2HOzHURQKeQDnt2JwqVmQ6Depf5uDLQ==" | |
}, | |
"node_modules/langsmith": { | |
"version": "0.1.41", | |
"resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.1.41.tgz", | |
"integrity": "sha512-8R7s/225Pxmv0ipMfd6sqmWVsfHLQivYlQZ0vx5K+ReoknummTenQlVK8gapk3kqRMnzkrouuRHMhWjMR6RgUA==", | |
"dependencies": { | |
"@types/uuid": "^9.0.1", | |
"commander": "^10.0.1", | |
"p-queue": "^6.6.2", | |
"p-retry": "4", | |
"semver": "^7.6.3", | |
"uuid": "^9.0.0" | |
}, | |
"peerDependencies": { | |
"@langchain/core": "*", | |
"langchain": "*", | |
"openai": "*" | |
}, | |
"peerDependenciesMeta": { | |
"@langchain/core": { | |
"optional": true | |
}, | |
"langchain": { | |
"optional": true | |
}, | |
"openai": { | |
"optional": true | |
} | |
} | |
}, | |
"node_modules/langsmith/node_modules/uuid": { | |
"version": "9.0.1", | |
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", | |
"integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", | |
"funding": [ | |
"https://github.com/sponsors/broofa", | |
"https://github.com/sponsors/ctavan" | |
], | |
"bin": { | |
"uuid": "dist/bin/uuid" | |
} | |
}, | |
"node_modules/mime-db": { | |
"version": "1.52.0", | |
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", | |
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", | |
"engines": { | |
"node": ">= 0.6" | |
} | |
}, | |
"node_modules/mime-types": { | |
"version": "2.1.35", | |
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", | |
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", | |
"dependencies": { | |
"mime-db": "1.52.0" | |
}, | |
"engines": { | |
"node": ">= 0.6" | |
} | |
}, | |
"node_modules/ml-array-mean": { | |
"version": "1.1.6", | |
"resolved": "https://registry.npmjs.org/ml-array-mean/-/ml-array-mean-1.1.6.tgz", | |
"integrity": "sha512-MIdf7Zc8HznwIisyiJGRH9tRigg3Yf4FldW8DxKxpCCv/g5CafTw0RRu51nojVEOXuCQC7DRVVu5c7XXO/5joQ==", | |
"dependencies": { | |
"ml-array-sum": "^1.1.6" | |
} | |
}, | |
"node_modules/ml-array-sum": { | |
"version": "1.1.6", | |
"resolved": "https://registry.npmjs.org/ml-array-sum/-/ml-array-sum-1.1.6.tgz", | |
"integrity": "sha512-29mAh2GwH7ZmiRnup4UyibQZB9+ZLyMShvt4cH4eTK+cL2oEMIZFnSyB3SS8MlsTh6q/w/yh48KmqLxmovN4Dw==", | |
"dependencies": { | |
"is-any-array": "^2.0.0" | |
} | |
}, | |
"node_modules/ml-distance": { | |
"version": "4.0.1", | |
"resolved": "https://registry.npmjs.org/ml-distance/-/ml-distance-4.0.1.tgz", | |
"integrity": "sha512-feZ5ziXs01zhyFUUUeZV5hwc0f5JW0Sh0ckU1koZe/wdVkJdGxcP06KNQuF0WBTj8FttQUzcvQcpcrOp/XrlEw==", | |
"dependencies": { | |
"ml-array-mean": "^1.1.6", | |
"ml-distance-euclidean": "^2.0.0", | |
"ml-tree-similarity": "^1.0.0" | |
} | |
}, | |
"node_modules/ml-distance-euclidean": { | |
"version": "2.0.0", | |
"resolved": "https://registry.npmjs.org/ml-distance-euclidean/-/ml-distance-euclidean-2.0.0.tgz", | |
"integrity": "sha512-yC9/2o8QF0A3m/0IXqCTXCzz2pNEzvmcE/9HFKOZGnTjatvBbsn4lWYJkxENkA4Ug2fnYl7PXQxnPi21sgMy/Q==" | |
}, | |
"node_modules/ml-tree-similarity": { | |
"version": "1.0.0", | |
"resolved": "https://registry.npmjs.org/ml-tree-similarity/-/ml-tree-similarity-1.0.0.tgz", | |
"integrity": "sha512-XJUyYqjSuUQkNQHMscr6tcjldsOoAekxADTplt40QKfwW6nd++1wHWV9AArl0Zvw/TIHgNaZZNvr8QGvE8wLRg==", | |
"dependencies": { | |
"binary-search": "^1.3.5", | |
"num-sort": "^2.0.0" | |
} | |
}, | |
"node_modules/ms": { | |
"version": "2.1.3", | |
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", | |
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" | |
}, | |
"node_modules/mustache": { | |
"version": "4.2.0", | |
"resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", | |
"integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", | |
"bin": { | |
"mustache": "bin/mustache" | |
} | |
}, | |
"node_modules/node-domexception": { | |
"version": "1.0.0", | |
"resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", | |
"integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", | |
"funding": [ | |
{ | |
"type": "github", | |
"url": "https://github.com/sponsors/jimmywarting" | |
}, | |
{ | |
"type": "github", | |
"url": "https://paypal.me/jimmywarting" | |
} | |
], | |
"engines": { | |
"node": ">=10.5.0" | |
} | |
}, | |
"node_modules/node-fetch": { | |
"version": "2.7.0", | |
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", | |
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", | |
"dependencies": { | |
"whatwg-url": "^5.0.0" | |
}, | |
"engines": { | |
"node": "4.x || >=6.0.0" | |
}, | |
"peerDependencies": { | |
"encoding": "^0.1.0" | |
}, | |
"peerDependenciesMeta": { | |
"encoding": { | |
"optional": true | |
} | |
} | |
}, | |
"node_modules/num-sort": { | |
"version": "2.1.0", | |
"resolved": "https://registry.npmjs.org/num-sort/-/num-sort-2.1.0.tgz", | |
"integrity": "sha512-1MQz1Ed8z2yckoBeSfkQHHO9K1yDRxxtotKSJ9yvcTUUxSvfvzEq5GwBrjjHEpMlq/k5gvXdmJ1SbYxWtpNoVg==", | |
"engines": { | |
"node": ">=8" | |
}, | |
"funding": { | |
"url": "https://github.com/sponsors/sindresorhus" | |
} | |
}, | |
"node_modules/openai": { | |
"version": "4.54.0", | |
"resolved": "https://registry.npmjs.org/openai/-/openai-4.54.0.tgz", | |
"integrity": "sha512-e/12BdtTtj+tXs7iHm+Dm7H7WjEWnw7O52B2wSfCQ6lD5F6cvjzo7cANXy5TJ1Q3/qc8YRPT5wBTTFtP5sBp1g==", | |
"dependencies": { | |
"@types/node": "^18.11.18", | |
"@types/node-fetch": "^2.6.4", | |
"abort-controller": "^3.0.0", | |
"agentkeepalive": "^4.2.1", | |
"form-data-encoder": "1.7.2", | |
"formdata-node": "^4.3.2", | |
"node-fetch": "^2.6.7" | |
}, | |
"bin": { | |
"openai": "bin/cli" | |
} | |
}, | |
"node_modules/openapi-types": { | |
"version": "12.1.3", | |
"resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz", | |
"integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==" | |
}, | |
"node_modules/p-finally": { | |
"version": "1.0.0", | |
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", | |
"integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", | |
"engines": { | |
"node": ">=4" | |
} | |
}, | |
"node_modules/p-queue": { | |
"version": "6.6.2", | |
"resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", | |
"integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", | |
"dependencies": { | |
"eventemitter3": "^4.0.4", | |
"p-timeout": "^3.2.0" | |
}, | |
"engines": { | |
"node": ">=8" | |
}, | |
"funding": { | |
"url": "https://github.com/sponsors/sindresorhus" | |
} | |
}, | |
"node_modules/p-retry": { | |
"version": "4.6.2", | |
"resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", | |
"integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", | |
"dependencies": { | |
"@types/retry": "0.12.0", | |
"retry": "^0.13.1" | |
}, | |
"engines": { | |
"node": ">=8" | |
} | |
}, | |
"node_modules/p-timeout": { | |
"version": "3.2.0", | |
"resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", | |
"integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", | |
"dependencies": { | |
"p-finally": "^1.0.0" | |
}, | |
"engines": { | |
"node": ">=8" | |
} | |
}, | |
"node_modules/retry": { | |
"version": "0.13.1", | |
"resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", | |
"integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", | |
"engines": { | |
"node": ">= 4" | |
} | |
}, | |
"node_modules/semver": { | |
"version": "7.6.3", | |
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", | |
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", | |
"bin": { | |
"semver": "bin/semver.js" | |
}, | |
"engines": { | |
"node": ">=10" | |
} | |
}, | |
"node_modules/tr46": { | |
"version": "0.0.3", | |
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", | |
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" | |
}, | |
"node_modules/undici-types": { | |
"version": "5.26.5", | |
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", | |
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" | |
}, | |
"node_modules/uuid": { | |
"version": "10.0.0", | |
"resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", | |
"integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", | |
"funding": [ | |
"https://github.com/sponsors/broofa", | |
"https://github.com/sponsors/ctavan" | |
], | |
"bin": { | |
"uuid": "dist/bin/uuid" | |
} | |
}, | |
"node_modules/web-streams-polyfill": { | |
"version": "4.0.0-beta.3", | |
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", | |
"integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", | |
"engines": { | |
"node": ">= 14" | |
} | |
}, | |
"node_modules/webidl-conversions": { | |
"version": "3.0.1", | |
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", | |
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" | |
}, | |
"node_modules/whatwg-url": { | |
"version": "5.0.0", | |
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", | |
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", | |
"dependencies": { | |
"tr46": "~0.0.3", | |
"webidl-conversions": "^3.0.0" | |
} | |
}, | |
"node_modules/yaml": { | |
"version": "2.5.0", | |
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", | |
"integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", | |
"bin": { | |
"yaml": "bin.mjs" | |
}, | |
"engines": { | |
"node": ">= 14" | |
} | |
}, | |
"node_modules/zod": { | |
"version": "3.23.8", | |
"resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", | |
"integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", | |
"funding": { | |
"url": "https://github.com/sponsors/colinhacks" | |
} | |
}, | |
"node_modules/zod-to-json-schema": { | |
"version": "3.23.2", | |
"resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.2.tgz", | |
"integrity": "sha512-uSt90Gzc/tUfyNqxnjlfBs8W6WSGpNBv0rVsNxP/BVSMHMKGdthPYff4xtCHYloJGM0CFxFsb3NbC0eqPhfImw==", | |
"peerDependencies": { | |
"zod": "^3.23.3" | |
} | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "featherless-langchain-js-example", | |
"version": "1.0.0", | |
"main": "index.js", | |
"scripts": { | |
"test": "echo \"Error: no test specified\" && exit 1" | |
}, | |
"author": "", | |
"license": "ISC", | |
"description": "", | |
"dependencies": { | |
"@langchain/openai": "^0.2.5", | |
"dotenv": "^16.4.5", | |
"langchain": "^0.2.12", | |
"openai": "^4.54.0" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment