प्रौद्योगिकी साझेदारी

LangChain - बहु-मोडल-बृहत्-माडलस्य कृते प्रॉम्प्ट् टेम्पलेट्

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


1. बहुविधदत्तांशं प्रत्यक्षतया मॉडले कथं स्थानान्तरयितुं शक्यते

अत्र वयं बहुविधं निवेशं प्रत्यक्षतया मॉडल् प्रति कथं पारयितुं शक्नुमः इति दर्शयामः । अन्येषां मॉडल् प्रदातृणां कृते ये बहुविधनिवेशस्य समर्थनं कुर्वन्ति, langchain इष्टस्वरूपे परिवर्तनार्थं वर्गे निहितं तर्कं प्रदाति ।
चित्रे पारयितुं सर्वाधिकं सामान्यः मार्गः बाइट् स्ट्रिंग् इत्यस्य रूपेण भवति । एतत् अधिकांशस्य आदर्शसमूहस्य कृते कार्यं कर्तव्यम् ।

import base64
import httpx

image_url = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
image_data = base64.b64encode(httpx.get(image_url).content).decode("utf-8")

message = HumanMessage(
    content=[
        {"type": "text", "text": "describe the weather in this image"},
        {
            "type": "image_url",
            "image_url": {"url": f"data:image/jpeg;base64,{image_data}"},
        },
    ],
)
response = model.invoke([message])
print(response.content)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

वयं "image_URL" प्रकारस्य सामग्रीखण्डे प्रत्यक्षतया इमेज URL प्रदातुं शक्नुमः । परन्तु ध्यानं कुर्वन्तु यत् केवलं केचन मॉडल् प्रदातारः एव एतत् विशेषतां समर्थयन्ति ।

message = HumanMessage(
    content=[
        {"type": "text", "text": "describe the weather in this image"},
        {"type": "image_url", "image_url": {"url": image_url}},
    ],
)
response = model.invoke([message])
print(response.content)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

वयं बहुविधाः चित्राणि अपि अपलोड् कर्तुं शक्नुमः ।

message = HumanMessage(
    content=[
        {"type": "text", "text": "are these two images the same?"},
        {"type": "image_url", "image_url": {"url": image_url}},
        {"type": "image_url", "image_url": {"url": image_url}},
    ],
)
response = model.invoke([message])
print(response.content)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2. mutimodal prompts इत्यस्य उपयोगः कथं भवति

अत्र, वयं वर्णयामः यत् मॉडल् कृते बहुविध-इम्पट्-स्वरूपणार्थं प्रॉम्प्ट्-टेम्पलेट्-इत्यस्य उपयोगः कथं भवति ।

import base64
import httpx

image_url = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
image_data = base64.b64encode(httpx.get(image_url).content).decode("utf-8")

prompt = ChatPromptTemplate.from_messages(
    [
        ("system", "Describe the image provided"),
        (
            "user",
            [
                {
                    "type": "image_url",
                    "image_url": {"url": "data:image/jpeg;base64,{image_data}"},
                }
            ],
        ),
    ]
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

वयं बहुविधं चित्रं मॉडल् प्रति अपि पारयितुं शक्नुमः ।

prompt = ChatPromptTemplate.from_messages(
    [
        ("system", "compare the two pictures provided"),
        (
            "user",
            [
                {
                    "type": "image_url",
                    "image_url": {"url": "data:image/jpeg;base64,{image_data1}"},
                },
                {
                    "type": "image_url",
                    "image_url": {"url": "data:image/jpeg;base64,{image_data2}"},
                },
            ],
        ),
    ]
)

chain = prompt | model

response = chain.invoke({"image_data1": image_data, "image_data2": image_data})
print(response.content)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23