{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/satoc/miniforge3/envs/gradio/lib/python3.12/site-packages/IPython/core/interactiveshell.py:3577: LangChainDeprecationWarning: As of langchain-core 0.3.0, LangChain uses pydantic v2 internally. The langchain_core.pydantic_v1 module was a compatibility shim for pydantic v1, and should no longer be used. Please update the code to import from Pydantic directly.\n", "\n", "For example, replace imports like: `from langchain_core.pydantic_v1 import BaseModel`\n", "with: `from pydantic import BaseModel`\n", "or the v1 compatibility namespace if you are working in a code base that has not been fully upgraded to pydantic 2 yet. \tfrom pydantic.v1 import BaseModel\n", "\n", " exec(code_obj, self.user_global_ns, self.user_ns)\n" ] } ], "source": [ "from langchain_community.agent_toolkits import create_sql_agent\n", "from langchain_openai import ChatOpenAI\n", "from langchain_groq import ChatGroq\n", "from langchain_core.prompts import ChatPromptTemplate\n", "from langchain_core.pydantic_v1 import BaseModel, Field\n", "import pandas as pd\n", "from pydantic import BaseModel, Field\n", "\n", "from langchain.text_splitter import RecursiveCharacterTextSplitter\n", "from langchain_community.vectorstores import Chroma\n", "from langchain.embeddings import HuggingFaceEmbeddings\n", "from langchain_core.runnables import RunnablePassthrough\n", "from langchain_core.output_parsers import StrOutputParser\n", "\n", "\n", "gpt = ChatOpenAI(model=\"gpt-3.5-turbo\", temperature=0)\n", "#agent_gpt_executor = create_sql_agent(gpt, db=db, agent_type=\"tool-calling\", verbose=True)\n", "\n", "## make database\n", "from langchain_community.utilities import SQLDatabase\n", "from sqlalchemy import create_engine\n", "\n", "from langchain.prompts import ChatPromptTemplate\n", "from langchain.schema import SystemMessage\n", "from langchain_core.prompts import MessagesPlaceholder\n", "#agent_groq_executor = create_sql_agent(llm, db=db, agent_type=\"tool-calling\", verbose=True)\n", "\n", "from OpenAITools.FetchTools import fetch_clinical_trials, fetch_clinical_trials_jp\n", "from OpenAITools.CrinicalTrialTools import QuestionModifierEnglish, TumorNameExtractor, SimpleClinicalTrialAgent,GraderAgent,LLMTranslator\n", "\n", "groq = ChatGroq(model_name=\"llama3-70b-8192\", temperature=0)\n", "#agent_groq_executor = create_sql_agent(groq, db=db, agent_type=\"tool-calling\", verbose=True)\n", "\n", "age = \"65\"\n", "sex =\"男性\"\n", "tumor_type =\"胃癌\"\n", "#tumor_type = \"gastric cancer\"\n", "GeneMutation =\"HER2\"\n", "Meseable = \"有り\"\n", "Biopsiable = \"有り\"\n", "NCTID = 'NCT06441994'\n", "\n", "#Define extractor\n", "Translator = LLMTranslator(groq)\n", "TumorName = Translator.translate(tumor_type)\n", "\n", "#Make db\n", "df = fetch_clinical_trials(TumorName)\n", "# 新しい列を追加\n", "df['AgentJudgment'] = None\n", "df['AgentGrade'] = None\n", "#df = df.iloc[:5, :]\n", "NCTIDs = list(df['NCTID' ])\n", "\n", "#Define agents\n", "#modifier = QuestionModifierEnglish(groq)\n", "CriteriaCheckAgent = SimpleClinicalTrialAgent(groq)\n", "grader_agent = GraderAgent(groq)\n", "\n", "\n", "for nct_id in NCTIDs:\n", " TargetCriteria = df.loc[df['NCTID'] == nct_id, 'Eligibility Criteria'].values[0]\n", " AgentJudgment = CriteriaCheckAgent.evaluate_eligibility(TargetCriteria, ex_question)\n", " print(AgentJudgment)\n", "\n", " AgentGrade = grader_agent.evaluate_eligibility(AgentJudgment)\n", " print(AgentGrade)\n", " # NCTIDに一致する行を見つけて更新\n", " df.loc[df['NCTID'] == nct_id, 'AgentJudgment'] = AgentJudgment\n", " df.loc[df['NCTID'] == nct_id, 'AgentGrade'] = AgentGrade" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "gradio", "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.12.3" } }, "nbformat": 4, "nbformat_minor": 2 }