Tuesday, August 22, 2023

Create AI Chatbot in Urdu

 This video shows you how to create and use LLM in Urdu language to do AI semantic search.





Commands Used:

!pip install cohere 

!pip install Annoy


import cohere

co = cohere.Client('<cohere key>') #get it from cohere.com


from annoy import AnnoyIndex

import numpy as np

import pandas as pd

import re


text = """حکومت نے تجارتی میدان کے لیے بزنس پارکس قائم کرنے کا فیصلہ کیا ہے۔ ملکی برآمدات بڑھانے کے لیے حکمت عملی اپنانے کی ضرورت ہے۔ ان خیالات کا اظہار انہوں نے برآمد کنندگان اور تاجروں کے وفد سے گفتگو کرتے ہوئے کیا۔ گوہر اعجاز نے کہا کہ پاکستان کے عالمی تجارتی تعلقات مزید مضبوط ہوں گے۔ اس مقصد کے لیے بڑے شہروں میں بزنس پارکس قائم کرنے کا منصوبہ ہے۔"""


# Split into a list of sentences

texts = text.split('۔')


# Clean up to remove empty spaces and new lines

texts = np.array([t.strip(' \n') for t in texts])


response = co.embed(

    texts=texts.tolist()

).embeddings


embeds = np.array(response)

embeds.shape


search_index = AnnoyIndex(embeds.shape[1], 'angular')

# Add all the vectors to the search index

for i in range(len(embeds)):

    search_index.add_item(i, embeds[i])


search_index.build(10) # 10 trees

search_index.save('test.ann')


pd.set_option('display.max_colwidth', None)


def search(query):


  # Get the query's embedding

  query_embed = co.embed(texts=[query]).embeddings


  # Retrieve the nearest neighbors

  similar_item_ids = search_index.get_nns_by_vector(query_embed[0],

                                                    3,

                                                  include_distances=True)

  # Format the results

  results = pd.DataFrame(data={'texts': texts[similar_item_ids[0]],

                              'distance': similar_item_ids[1]})


  print(texts[similar_item_ids[0]])

    

  return results


query = "حکومت نے کیا فیصلہ کیا؟"

search(query)

No comments: