From 63484029aa55353a8b497754a1ec6b7f441eabce Mon Sep 17 00:00:00 2001 From: thomas Date: Mon, 28 Oct 2024 15:55:23 +0100 Subject: [PATCH] python packages such as fastapi added --- Dockerfile | 11 ++++++ README.md | 2 +- main.py | 7 ++++ requirements.txt | 7 ++++ requirements_dev.txt | 9 +++++ sample_text.txt | 11 ++++++ yoyomaskr.ipynb | 87 +++++++++++++++++++++++++++++++++++++++++++ yoyomaskr/__init__.py | 1 + 8 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 main.py create mode 100644 requirements_dev.txt create mode 100644 sample_text.txt create mode 100644 yoyomaskr.ipynb create mode 100644 yoyomaskr/__init__.py diff --git a/Dockerfile b/Dockerfile index 9f598bb..004b7d6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1 +1,12 @@ +# Use an official Python runtime as a base image FROM python:3.13-bookworm + +WORKDIR /app + +COPY . /app/ + +RUN pip install -r requirements.txt + +EXPOSE 8000 + +CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file diff --git a/README.md b/README.md index bacd192..0564aaf 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ # yo-yo-maskr -Reversible anonymisation service for us all +A reversible anonymisation service for us all diff --git a/main.py b/main.py new file mode 100644 index 0000000..7162e69 --- /dev/null +++ b/main.py @@ -0,0 +1,7 @@ +from fastapi import FastAPI + +app = FastAPI() + +@app.get("/") +async def read_root(): + return {"message": "Hello, World!"} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index e69de29..b63bcc5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -0,0 +1,7 @@ +fastapi +langchain-core +langchain-ollama +ollama +rapidfuzz +regex +uvicorn \ No newline at end of file diff --git a/requirements_dev.txt b/requirements_dev.txt new file mode 100644 index 0000000..aac45e7 --- /dev/null +++ b/requirements_dev.txt @@ -0,0 +1,9 @@ +fastapi +ipykernel +jupyter +langchain-core +langchain-ollama +ollama +rapidfuzz +regex +uvicorn \ No newline at end of file diff --git a/sample_text.txt b/sample_text.txt new file mode 100644 index 0000000..4e7c5ba --- /dev/null +++ b/sample_text.txt @@ -0,0 +1,11 @@ +Hier ist ein kurzer Text mit vielen Namen von Personen und Orten: + +--- + +Es war ein kühler Herbstmorgen, als Marie Müller mit ihrem Bruder Thomas in Hamburg auf den Zug nach Berlin wartete. Dort wollten sie ihre Freunde Anna Schmidt und Lukas Hoffmann treffen, die gerade aus München zurückgekehrt waren. Während der Reise erzählte Marie von ihrem letzten Urlaub in Italien, wo sie in Rom einen alten Schulfreund namens Peter Lehmann getroffen hatte. Peter wohnte mittlerweile in der Nähe von Mailand und arbeitete für eine Firma in Venedig. + +In Berlin angekommen, holte sie ihr Onkel Karl Weber vom Bahnhof ab. Gemeinsam fuhren sie zu seiner Wohnung in der Friedrichstraße, wo sie später an einem Abendessen bei Familie Becker in Charlottenburg teilnehmen wollten. Dort kamen auch Karla Fischer, eine ehemalige Klassenkameradin, und Paul König, ein alter Freund aus der Schulzeit, hinzu. + +Am nächsten Tag machten sich Marie und Thomas auf den Weg nach Potsdam, um dort den berühmten Park Sanssouci zu besuchen. Unterwegs trafen sie auf einen Reiseleiter namens Andreas Schneider, der ihnen alles über die Geschichte der Stadt und den Park erzählte. Später besuchten sie noch den Kurfürstendamm in Berlin, wo sie zufällig auf Julia Wagner und ihren Bruder Frank trafen, die gerade von einem Ausflug nach Dresden zurückkehrten. + +Nach einer Woche voller Abenteuer kehrten sie zurück nach Hamburg, wo sie von ihrer Tante Sabine Schmidt und deren Nachbarn Klaus Neumann herzlich begrüßt wurden. \ No newline at end of file diff --git a/yoyomaskr.ipynb b/yoyomaskr.ipynb new file mode 100644 index 0000000..e609f1b --- /dev/null +++ b/yoyomaskr.ipynb @@ -0,0 +1,87 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# yo-yo-maskr" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"LangChain is a popular open-source framework for building blockchain-based applications, particularly focused on the Ethereum ecosystem.\\n\\nTo understand what LangChain does, let's break it down:\\n\\n1. **Blockchain platform**: LangChain is built on top of Web3.js and utilizes the Ethereum blockchain as its foundation. This allows developers to create smart contracts and interact with blockchain data.\\n2. **Decentralized data storage**: LangChain provides a decentralized data storage solution using IPFS (InterPlanetary File System). This enables seamless data sharing, collaboration, and version control across multiple nodes on the network.\\n3. **Smart contract development**: The framework offers a set of tools and libraries for developing smart contracts, making it easier to create, deploy, and manage blockchain-based applications.\\n4. **Decentralized application (dApp) building**: LangChain is designed to help developers build dApps that can interact with the blockchain, enabling features like data storage, smart contract invocation, and decentralized governance.\\n\\nIn summary, LangChain is a comprehensive framework for building blockchain-based applications, providing tools and libraries for developing smart contracts, storing data in a decentralized manner, and creating decentralized applications on top of the Ethereum network.\"" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from langchain_core.prompts import ChatPromptTemplate\n", + "from langchain_ollama.llms import OllamaLLM\n", + "\n", + "template = \"\"\"Question: {question}\n", + "\n", + "Answer: Let's think step by step.\"\"\"\n", + "\n", + "prompt = ChatPromptTemplate.from_template(template)\n", + "\n", + "model = OllamaLLM(model=\"llama3.2\")\n", + "\n", + "chain = prompt | model\n", + "\n", + "chain.invoke({\"question\": \"What is LangChain?\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Hier ist ein kurzer Text mit vielen Namen von Personen und Orten:\\n\\n---\\n\\nEs war ein kühler Herbstmorgen, als Marie Müller mit ihrem Bruder Thomas in Hamburg auf den Zug nach Berlin wartete. Dort wollten sie ihre Freunde Anna Schmidt und Lukas Hoffmann treffen, die gerade aus München zurückgekehrt waren. Während der Reise erzählte Marie von ihrem letzten Urlaub in Italien, wo sie in Rom einen alten Schulfreund namens Peter Lehmann getroffen hatte. Peter wohnte mittlerweile in der Nähe von Mailand und arbeitete für eine Firma in Venedig.\\n\\nIn Berlin angekommen, holte sie ihr Onkel Karl Weber vom Bahnhof ab. Gemeinsam fuhren sie zu seiner Wohnung in der Friedrichstraße, wo sie später an einem Abendessen bei Familie Becker in Charlottenburg teilnehmen wollten. Dort kamen auch Karla Fischer, eine ehemalige Klassenkameradin, und Paul König, ein alter Freund aus der Schulzeit, hinzu.\\n\\nAm nächsten Tag machten sich Marie und Thomas auf den Weg nach Potsdam, um dort den berühmten Park Sanssouci zu besuchen. Unterwegs trafen sie auf einen Reiseleiter namens Andreas Schneider, der ihnen alles über die Geschichte der Stadt und den Park erzählte. Später besuchten sie noch den Kurfürstendamm in Berlin, wo sie zufällig auf Julia Wagner und ihren Bruder Frank trafen, die gerade von einem Ausflug nach Dresden zurückkehrten.\\n\\nNach einer Woche voller Abenteuer kehrten sie zurück nach Hamburg, wo sie von ihrer Tante Sabine Schmidt und deren Nachbarn Klaus Neumann herzlich begrüßt wurden.'" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "with open('sample_text.txt', 'r') as file:\n", + " sample_text = file.read()\n", + "sample_text" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/yoyomaskr/__init__.py b/yoyomaskr/__init__.py new file mode 100644 index 0000000..541f859 --- /dev/null +++ b/yoyomaskr/__init__.py @@ -0,0 +1 @@ +__version__ = '0.1.0' \ No newline at end of file